hibernate多对多当中,我们常常希望只删除一方已及对应的关系,但不想删除另一方,怎么样达到呢? (这里只提删除)
表user和表role多对多,中间表user_role(userId,roleId),user是主控方,role是从方,
在spring+hibernate的环境下,使用的是Annotation配置
User.java
@ManyToMany(cascade = {CascadeType.MERGE,CascadeType.PERSIST}, fetch = FetchType.EAGER)
@JoinTable(name = "user_role",
joinColumns = { @JoinColumn(name = "userId",referencedColumnName="userId") },
inverseJoinColumns = { @JoinColumn(name = "roleId",referencedColumnName="roleId") })
public Set<Role> getRoles() {
return this.roles;
}
Role.java
@ManyToMany(cascade = {CascadeType.MERGE,CascadeType.PERSIST}, fetch = FetchType.EAGER,
mappedBy = "roles")
public Set&