Я стараюсь использовать те же методы, что и в этом блоге here, чтобы избежать проблемы с N + 1. я создал 5 классов с многими до 1 отношения следующим образом:вложенные коллекции с POJO
Ствол -> Branch 1 -> Branch 2 -> Branch 3 -> Лист
Я пытаюсь построить мой XML-картографа, который соответствует, но сбой во время выполнения с ошибкой, что нет никакой собственности «branch2» в «класса com.mytest.branch1»
Я определил мой XML Mapper, как
<mapper namespace="com.mytest.test">
<resultMap id="resultTest" type="com.mytest.test.trunk">
<id property="TrunkID" column="TRUNK_ID" />
<collection property="Branch1" column="BRANCH_1_ID" javaType="ArrayList" ofType="com.mytest.test.branch1">
<id property="branch1ID" column="BRANCH_1_ID">
<collection property="Branch2" column="BRANCH_2" javaType="ArrayList" ofType="com.mytest.test.branch2">
<id property="branch2ID" column="BRANCH_2_ID">
<collection property="Branch3" column="BRANCH_3" javaType="ArrayList" ofType="com.mytest.test.branch3">
<id property="branch3ID" column="BRANCH_3_ID">
<result property="Value" column="Value">
</collection>
</collection>
</collection>
</resultMap>
<select id="getAllNodes" resultMap="resultTest">
select n.TRUNK_ID,b.BRANCH_1_ID,b.BRANCH_2_ID,b.BRANCH_3_ID,b.VALUE FROM node n join branches b on n.node_id=b.node_id
</select>
</mapper>
класса ствол:
public class Trunk {
private int TrunkID;
private List<Branch1> Branch1;
//getters and setters
}
Класс branch1:
public class Branch1{
private int Branch1ID;
private List<Branch2> Branch2;
//getters and setters ...
}
Класс branch2:
public class Branch2{
private int Branch2ID;
private List<Branch3> Branch3;
//getters and setters ...
}
Класс Branch3:
public class Branch3{
private int Branch3ID;
//getters and setters ...
}
, пожалуйста, покажите нам разделы 'branch1',' branch2', 'branch3'. –
@ MichałRybak добавлен к вопросу. – mrkb80