读书人

Hibernate 注解ManyToMany出错

发布时间: 2013-01-23 10:44:49 作者: rapoo

【求助】Hibernate 注解ManyToMany出错


User.java

/** * @return roles. */
@ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE }, fetch = FetchType.LAZY)
@JoinTable(name = "tb_user_role", joinColumns = { @JoinColumn(name = "USER_ID") }, inverseJoinColumns = { @JoinColumn(name = "ROLE_ID") })
public Set<Role> getRoles() {
return roles;
}


为什么修改user对象的之后,会级联删除关联的role对象啊 ,,搞不懂啊!!!!!!!!!!!!!!!!
[解决办法]
我也想知道,顶
[解决办法]
表是hibernate生成的,还是你自己建的?如果是自动生成的,那你要修改别的外键属性了。
[解决办法]
因为有ManyToMany这个关系,
在你保存user时,你user对象中roles为空,所以hibernate就以为你要删除这个user的roles
个人觉得这个ManyToMany关系你可以不用加,需要的时候查出来就是了。
[解决办法]
casecade不要设置级联

读书人网 >J2EE开发

热点推荐