2012-12-06 35 views
5

मेरे पास दो वर्ग हैं जहां एक दूसरे को विरासत में मिला है। मैं उपवर्ग के लिए मेरे ResultSet मैप करने के लिए कोशिश कर रहा हूँ और Mybatis सुपर क्लास (Setters भी सुपर क्लास पर) पर गुण अनदेखी कर रहा हैमाइबेटिस - विरासत गुणों को मैप नहीं किया जा रहा है

कोड के रूप में नीचे है:

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(){...} 

} 

मेरे resultMap है -

<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> 

परिणामी CocTreeNode ऑब्जेक्ट्स 'level1' और 'level2' विशेषताओं के साथ पॉप्युलेट किए गए हैं लेकिन 'नाम' और 'वॉल्यूम' नहीं हैं।

मैंने विस्तार का उपयोग करने का प्रयास किया है लेकिन इससे कोई फर्क नहीं पड़ता।

किसी भी विचार की सराहना की जाएगी।

+0

क्या आपको यकीन है, अपने एसक्यूएल बयान ठीक से काम? – boskonovic

+0

हां। CocTean (Superclass) के कोड को CocTreeNode में कॉपी करने के परिणामस्वरूप सभी गुण ठीक से सेट किए जा रहे हैं। –

उत्तर

9

आप अपने simpleRow resultmap CocBean के resultmap से गुण का विस्तार करने में फैली उपयोग करने के लिए:

<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

वह था। धन्यवाद! –

+0

मुझे खुशी है कि आपको मेरा उत्तर उपयोगी लगता है। आपको इसे स्वीकार करना चाहिए। – Behnil

+0

मेरी आवश्यकताओं में बदलाव आया है और मैंने सुपर क्लास सार बनाया है। विशेषता बढ़ाता है अब काम नहीं कर रहा है। –