jpa映射关系详解.pdf

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

1.OneToOne关系建立  @OneToOne @JoinColumn(name=字段名) private 对应字段建立的类 类对象名称; 例子: @OneToOne @JoinColumn(name=USER_ID) private UserEmail userEmail; 对应表结构典型例子:   2.OneToMany关系建立  @OneToMany @JoinColumn(name = 字段名) private Set对应字段建立的类 类对象名称; 例子: @OneToMany @JoinColumn(name = cust_id) private SetContact contactList; 对应表结构典型例子:   如果我们需要从客户表中找到联系人信息,那么我们就需要建立一个OneToMany 的对应关系。如果我们又需要从联系人中找到对应的客户的话那么我们就建立相 反的关系ManyToOne    3.ManyToOne  @ManyToOne @JoinColumn(name=字段名) private 对应字段建立的类 类对象名称; 例子: @ManyToOne @JoinColumn(name=cust_id) private Customer customer; 对应表结构典型例子:   4 .ManyToMany  由于多对多关系的特殊性,我们势必需要为多对多关系建立一个中间表  然而我们在建立JPA 的PO 的时候又存在几种不同的建立中间表的情况。  (1).中间表只有关联的两张表字段的时候  @ManyToMany @JoinTable ( name = 中间表表名, joinColumns={@JoinColumn(name=本PO的字段名)}, inverseJoinColumns={@JoinColumn(name=另外一张关联 表的PO字段名)} ) private List另外那张表的表PO 名 自定义的属性名; 例子: @ManyToMany @JoinTable ( name = SYS_ROLE_MEMBER, joinColumns={@JoinColumn(name=USER_ID)}, inverseJoinColumns={@JoinColumn(name=ROLE_ID)} ) private ListRole roles;   如上图这种情况如果两张表的关系是多对多,而中间表没有其它的字段的话,那 么我们就可以采用这样的办法。  (2).中间表有其他字段的时候  在这种情况中我们首先需要把中间表独立建一个PO 出来,然后我们需要对中间 表的主键设置一个复合主键。  @Entity @Table(name = SYS_ROLE_MEMBER) public class RoleMember { /** * 复合主键对应对象 */ @EmbeddedId private RoleMemberPK pk; @Column(name=SIGN) private String sign; public RoleMemberPK getPk() { return pk; } public void setPk(RoleMemberPK pk) { this.pk = pk; } public String

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档