JPA实体关系映射

OneToOne

 

public classEmployee implements Serializable {

         ……

    @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY)

    @JoinColumn(name = "ADDR_ID")

  private Address address;

… …

}

 

 

ManyToOne

 

public classEmployee implements Serializable {

         ……

    @ManyToOne(fetch = FetchType.LAZY)

    @JoinTable(name = "EMP_JOB", joinColumns = @JoinColumn(name = "EMP_ID"), inverseJoinColumns = @JoinColumn(name = "TITLE_ID"))

    //連接表 joinColumns參考主表的主鍵的列,inverseJoinColumns參考字段或屬性生成的表格的主鍵的列

  private JobTitle jobTitle;


    @ManyToOne(fetch = FetchType.LAZY)

    @JoinColumn(name = "MANAGER_ID")

  private Employee manager;

… …

}

 

 

OneToMany

 

public classEmployee implements Serializable {

         ……

    @OneToMany(mappedBy = "manager") //manager字段擁有關係

    private List<Employee> managedEmployees = newArrayList<Employee>();


    @OneToMany(mappedBy = "owner", cascade = CascadeType.ALL, orphanRemoval = true)

  private List<PhoneNumber> phoneNumbers = newArrayList<PhoneNumber>();


    @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)

    @JoinColumn(name="EMP_ID")

    private List<Degree> degrees = newArrayList<Degree>();

         ……

}

 

 

ManyToMany

public classEmployee implements Serializable {

         ……

    @ManyToMany

    //連接表

    @JoinTable(name = "PROJ_EMP", joinColumns = @JoinColumn(name = "EMP_ID"), inverseJoinColumns = @JoinColumn(name = "PROJ_ID"))

   private List<Project> projects = newArrayList<Project>();

… …

}

 

 

联合主键映射

ManyToOne OneToMany ManyToMany映射,而且采用JoinTable映射,会出现联合主键,即双主键。

posted on 2010-10-06 14:57 patrickwai 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/goodwin/archive/2010/10/06/1844673.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值