hibernate中双向关联在级联情况下save对象讨论.docx

hibernate中双向关联在级联情况下save对象讨论.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
hibernate中双向关联在级联情况下save对象讨论

 HYPERLINK /chen_jp/article/details/7924809 hibernate中双向关联在级联情况下save对象讨论 一般在双向关联的情况下,都要在一方设置mappedBy(name=xxx),由对方主导映射关系。在多对一的情况下,一般在多的一方设置主导映射的关系(为了方便叙述,就这么叫它了,呵呵)。所谓主导这种映射关系,如group,user,就是由多的一方(user)里面产生一个外键参考一的一方(group)的主键,这时候user就是主导的一方,写mappedBy是被主导的一方。在多对多的情况下,随便由那方主导,在 HYPERLINK /base/mysql \o MySQL知识库 \t _blank 数据库表的结构上都是一样的,都会产生一个中间表,中间表有两个字段的联合主键,分别作为外键参考两个多的一方。 在一对多和多对多的双向关联的情况下,并且在cascade=CascadeType.ALL情况下,save不同方面(如主导关系一方或被主导的一方)在级联的具体表现上是不同的。分别来讨论一下。 先看一对多的双向关联关系,这里就拿group和user举例。 Group类如下: [java]? HYPERLINK /chen_jp/article/details/7924809 \o view plain view plain? HYPERLINK /chen_jp/article/details/7924809 \o copy copy package?com.chen.hibernate.ormapping;?? ?? import?java.util.HashSet;?? import?java.util.Set;?? ?? import?javax.persistence.CascadeType;?? import?javax.persistence.Entity;?? import?javax.persistence.FetchType;?? import?javax.persistence.GeneratedValue;?? import?javax.persistence.Id;?? import?javax.persistence.OneToMany;?? import?javax.persistence.Table;?? ?? @Entity?? @Table(name?=?t_group)?? public?class?Group?{?? ????private?int?id;?? ????private?String?name;?? ????private?SetUser?users?=?new?HashSetUser();?? ?? ????@Id?? ????@GeneratedValue?? ????public?int?getId()?{?? ????????return?id;?? ????}?? ?? ????public?void?setId(int?id)?{?? ????????this.id?=?id;?? ????}?? ?? ????public?String?getName()?{?? ????????return?name;?? ????}?? ?? ????public?void?setName(String?name)?{?? ?????????=?name;?? ????}?? ?? ????//?设置mappedBy是被主导的一方??? ????@OneToMany(mappedBy?=?group,?cascade?=?{?CascadeType.ALL?},?fetch?=?FetchType.LAZY)?? ????public?SetUser?getUsers()?{?? ????????return?users;?? ????}?? ?? ????public?void?setUsers(SetUser?users)?{?? ????????this.users?=?users;?? ????}?? }?? User类如下: [java]? HYPERLINK /chen_jp/article/details/7924809 \o view plain view plain? HYPERLINK /chen_jp/article/details/7924809 \o copy copy package?com.chen.hibernate.ormapping;?? ?? import?javax.persistence.CascadeType;?? import?javax.persisten

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档