站长简介绍:高级工程师,爱好交友,无偿辅导python和前端,技术交流,面试指导,找工作指导,瞎聊都可加我微信i88811i哈,欢迎欢迎!也欢迎加入程序员交流群,专属程序员的圈子,加我微信拉你进群.欢迎关注我的微信公众号:程序员总部,程序员的家,探索程序员的人生之路!分享IT最新技术,关注行业最新动向,让你永不落伍。了解同行们的工资,生活工作中的酸甜苦辣,谋求程序员的最终出路!
发布于2022-01-22 22:54 阅读(170) 评论(0) 点赞(27) 收藏(4)
有人可以告诉我这是否是进行双向映射的正确方法吗?
class User {
@OneToMany(cascade=CascadeType.ALL, mappedBy="user")
private List<item> items;
}
class Item {
@ManyToOne
private User user;
}
现在,如果我删除一个项目,我不希望删除该用户。如果我删除一个用户,我希望删除它的关联项目,因为它对用户来说是唯一的。
还有一个问题:如果我创建一个项目,我会:
User user = new User();
Item item = new Item();
user.getItems().add(item);
item.setUser(user);
persist(item);
我是否必须将项目设置为用户,反之亦然设置项目?
泰
是的,您的关系/映射已正确注释。删除一个Item
不会删除其关联的User
. 删除 aUser
将删除Item
与该用户关联的所有内容。
您不需要自己双向链接它们(尽管这样做没有害处),至少在获取存储在数据库中的正确信息方面不需要。请注意,当数据库操作从 级联User
到Item
(反之亦然)时,您可能需要调用而不是. 这会自动持久化,只要你把它添加到列表中。 persist(user)
persist(item)
item
user
站长简介:高级工程师,爱好交友,无偿辅导python和前端,技术交流,面试指导,找工作指导,瞎聊都可加我微信i88811i哈,欢迎欢迎!也欢迎加入程序员交流群,专属程序员的圈子,加我微信拉你进群.
欢迎关注我的公众号:程序员总部,关注公众号回复java,免费领取 全套java视频教程,关注公众号回复java充值+你的账号,免费为您充值1000积分
作者:黑洞官方问答小能手
链接:http://www.javaheidong.com/blog/article/377048/07fd9d6f71885dbe2405/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!