一对多个多举例:一个球员效力过多个俱乐部,具有多重国籍,现需要获取所有球员的全部信息(基本信息,曾效力俱乐部信息,拥有的国籍信息)
1 表信息
lyn_user_info –球员基本信息表
lyn_user_group –球员俱乐部关系表
lyn_group_info –俱乐部信息表
lyn_user_nationality –球员国籍关系表
2 类定义
UserInfo –球员全部信息
GroupInfo –俱乐部信息
Nationality –国籍信息
public class UserInfo {
private String userId;
private String userName;
private Set<GroupInfo> groups;
private Set<Nationality> nations;
//getters setters
}
class GroupInfo {
private String groupId;
private String groupName;
//getters setters
//hashCode equals
}
class Nationality {
private String nationId;
private String nationName;
//getters setters
//hashCode equals
}
注意:UserInfo 中俱乐部集合和国籍集合采用Set,同时GroupInfo和Nationality类要覆写equals方法和hashCode方法,否则关联查询映射后的集合中会存在重复值;