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>