class ClassA {
private int id;
private List<ClassB> list;
// public getters and setters
}
class ClassB {
private int id;
// public getters and setters
}
public interface ClassADAO {
@Select("SELECT id, name, description FROM TableA WHERE id = #{id}")
@Results({@Result(property = "id", column = "id"),
@Result(property = "list", javaType = List.class, column = "id",
many = @Many(select = "ClassBDao.getClassBForClassA"))})
ClassA getClassAById(@Param("id") long id);
}
public interface ClassBDAO {
@Select("SELECT id, classAId FROM TableB WHERE classAId = #{id}")
ClassB getClassBForClassA(@Param("id") long id);
}