谁能讲解下Hibernate 注解的mappedby属性 5

一对多的时候在One方类的集合设置mappedby谁会成为主控方... 一对多的时候 在One方类的集合设置mappedby谁会成为主控方 展开
 我来答
璩寄松0hfd4d
推荐于2017-12-16
知道答主
回答量:34
采纳率:0%
帮助的人:11.9万
展开全部
One的一方会成为主控方,加入mappedBy以后,就不会生成这两张关联表的中间表了,而是在Many的一方的表中生成一列作为外键。而且在你删除Many的一方时,只是删除了Many的表中的数据,但是,删除One一方时,会相应级联删除应的Many的数据。

举个例子,角色和用户是一对多的关系,一个角色可以对应多个用户。角色Role表中的@OnetoMany中加入mappedBy=“role”,在用户User表中@ManytoOne中可以不加其它注释,这样,role也就是One的一方便是主控方,会在user表中也就是Many的一方生成外键。删除某一个用户时,角色表并不会有变化,而当删除一个角色时,相对应的拥有那个角色的用户会被级联删除。

PS:我正好也是遇到这个问题,虽然你现在已经解决了,但还是一点点打了出来,方便以后想了解这个问题的童鞋。。
抓住今天only
推荐于2018-09-13
知道答主
回答量:24
采纳率:0%
帮助的人:4.4万
展开全部
mappedBy表示声明自己不是一对多的关系维护端,由对方来维护,是在一的一方进行声明的。mappedBy的值应该为一的一方的表名。
例如:城市与大学,一个城市有多个大学。
在City实体类中

@OneToMany(mappedBy="city")
@Cascade(CascadeType.ALL)
private List<College> college;

@mappedBy注解的作用:在JPA中,在@OneToMany里加入mappedBy属性可以避免生成一张中间表。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式