Java Mybati是多对多的最佳实践
成员表:Java Mybati是多对多的最佳实践,java,mybatis,Java,Mybatis,成员表: id int 名称varchar 俱乐部桌: id int 名称varchar 会员和俱乐部索引表: 成员id int 俱乐部id int 注册日期时间戳 如果我想通过俱乐部id和每个俱乐部的注册时间查询会员,我应该如何设计POJO。我应该将索引表映射到包含会员和俱乐部引用的实体吗?还是有更好的做法?我推荐以下对象模型: class Member { Integer id; String name; List<ClubRegistration> clubRegistr
id int
名称varchar 俱乐部桌:
id int
名称varchar 会员和俱乐部索引表:
成员id int
俱乐部id int
注册日期时间戳
如果我想通过俱乐部id和每个俱乐部的注册时间查询会员,我应该如何设计POJO。我应该将索引表映射到包含会员和俱乐部引用的实体吗?还是有更好的做法?我推荐以下对象模型:
class Member {
Integer id;
String name;
List<ClubRegistration> clubRegistrations;
}
class Club {
Integer id;
String name;
List<MemberRegistration> memberRegistrations;
}
class ClubRegistration {
Club club;
Date date;
}
class MemberRegistration {
Member member;
Date date;
}
您询问的案例的结果图:
<resultMap id="memberRM" type="Member">
<id column="memberId" property="id"/>
<result column="memberName" property="name"/>
<collection property="clubRegistrations" ofType="ClubRegistration">
<result column="register_Date" property="date" />
<association property="club" javaType="Club">
<id column="clubId" property="id"/>
<result column="clubName" property="name"/>
</association>
</collection>
</resultMap>
.刚刚更新了答案,以便进一步了解。让我知道它是否工作良好。
<resultMap id="memberRM" type="Member">
<id column="memberId" property="id"/>
<result column="memberName" property="name"/>
<collection property="clubRegistrations" ofType="ClubRegistration">
<result column="register_Date" property="date" />
<association property="club" javaType="Club">
<id column="clubId" property="id"/>
<result column="clubName" property="name"/>
</association>
</collection>
</resultMap>