2012-12-06 16 views
5

Birinin diğerini miras aldığı iki sınıfım var. Ben alt sınıfa benim Resultset eşlemek çalışıyorum ve Mybatis superclass (üst sınıf da Setters) üzerinde özelliklerini göz ardı edilirMybatis - Miras edilen özellikler eşlenmiyor

Kod aşağıdaki gibidir:

public class CocTreeNode extends CocBean implements TreeNode<CocTreeNode> { 

    private String level1, level2; 

    public void setLevel1(String level1){...} 
    public void setLevel2(String level2){...} 

    public String getLevel1(){...} 
    public String getLevel1(){...} 

} 

public class CocBean { 

    protected String name; 
    protected Double volume; 

    public void setName(String name){...} 
    public void setVolume(Double volume){...} 

    public String getName(){...} 
    public Double getVolume(){...} 

} 

Benim resultMap olduğunu -

<resultMap id="simpleRow" type="CocTreeNode"> 
    <id property="level1" column="LEVEL1"/> 
    <id property="level2" column="LEVEL2"/> 
    <result property="name" column="NAME"/> 
    <result property="volume" column="VOLUME"/> 
</resultMap> 

Ortaya çıkan CocTreeNode nesneleri 'level1' ve 'level2' nitelikleriyle doldurulur, ancak 'name' ve 'volume' değil.

Uzantıları kullanmayı denedim, ancak bu hiç farketmedi.

Herhangi bir fikir takdir edilecektir.

+0

Emin misiniz, sizin sql ifadeleri iyi çalışır? – boskonovic

+0

Evet. CocTreeNode içine CocBean (Superclass) 'un kodunu kopyalamak, tüm özellikleri düzgün bir şekilde ayarlıyor. –

cevap

9
Sen CocBean en resultmap gelen özelliklerini genişletmek için simpleRow resultmap içinde uzanır kullanmak zorunda

:

<resultMap id="CocBeanResult" type="CocBean"> 
    <result property="name" column="NAME"/> 
    <result property="volume" column="VOLUME"/> 
</resultMap> 

<resultMap id="simpleRow" type="CocTreeNode" extends="CocBeanResult"> 
    <result property="level1" column="LEVEL1"/> 
    <result property="level2" column="LEVEL2"/> 
</resultMap> 
+0

O kadardı. Teşekkür ederim! –

+0

Cevabımı faydalı bulduğuna sevindim. O zaman kabul etmelisin. – Behnil

+0

Gereksinimlerim değişti ve süper sınıf özeti yaptım. Uzatmalar özniteliği şimdi çalışmıyor gibi görünüyor. –