hibernate manytomany 更新主表字段,从表关系被删除

发布于 2022-09-01 16:28:03 字数 714 浏览 18 评论 0

hibernate 实体之间存在多对多关系。例如:

public class user{
 private int id;
 private String name;
 @ManytoMany(fetch=FetchType.LAZY)
 @JoinTable(name="tb_user_role",joinColumns={@JoinColumn(name="user_id")},
    inverseJoinColumns={@JoinColumn(name="role_id")})
 private List<Role> roles; 
}
public class role{
    private int id;
    private String name;
}

用户一方关联了角色,我通过id值load出某一条user对象(此user对象关联了2条role对象),信息展现在页面上后,session被关闭,user成为游离态,现在我修改了user的名字,进而执行update操作(update时user对象中只有user的基本信息,没有保存role关联信息)。
问题来了:
update后,此user对象关联的两条role对象的关联关系被删除了,怎么做才能保证关联关系不被删除。
我一一试了cascadeType的属性都不起作用,对cascadeType不太清楚,希望懂的人能详细解释一下,谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谁对谁错谁最难过 2022-09-08 16:28:03

同样的问题 怎么解决的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文