我有兩個類,其中一個繼承另一個。我想我的映射結果的子類,MyBatis的被忽略的超(二傳手也對超類)的屬性Mybatis - 未映射的繼承屬性
守則如下:
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'屬性填充,但不包含'name'和'volume'。
我試過使用延伸,但沒有任何區別。
任何想法將不勝感激。
你確定,你的sql語句正常工作? – boskonovic
是的。將CocBean(超類)的代碼複製到CocTreeNode中會導致正確設置所有屬性。 –