java框架hibernate多对多如何进行关联查询

2024-11-30 07:41:54
推荐回答(1个)
回答1:

多对多需要一个关联表,你用的是注解,你可以在多的一方的另一方引用的list上面,
比如用户和角色,他们是多对多的关系,你可以写上:
/**User表中的其他的属性*/
@LazyCollection(LazyCollectionOption.FALSE)
@ManyToMany()
@JoinTable(name = "TB_USER_ROLE", joinColumns = @JoinColumn(name = "USER_ID"), inverseJoinColumns = @JoinColumn(name = "ROLE_ID"))
private List roles;

这样就在数据库中创建了TB_USER_ROLE这个关联表,

然后在ROLE这个实体类中也要配置一个多对多的关系。如下:
// 对应关联的用户集合
@ManyToMany(mappedBy = "roles")
private List users;

这样就可以啦,