(7) ebj学习: jpa 一对一,一对多,多对多
生活随笔
收集整理的這篇文章主要介紹了
(7) ebj学习: jpa 一对一,一对多,多对多
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一 ?: 一對一
1 一對一主鍵關聯
Customer.java
import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.OneToOne; import javax.persistence.PrimaryKeyJoinColumn;/*** 一對一主鍵關聯* **/ @Entity public class Customer {@Idprivate int id;private String name;@OneToOne@PrimaryKeyJoinColumnprivate CustomerNo customerNo;}CustomerNo.java
import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.OneToOne;/*** 一對一主鍵關聯* **/ @Entity public class CustomerNo {@Idprivate int id;private String sn;@OneToOne(mappedBy = "customerNo")private Customer customer; }
最后表結構
2 一對一外鍵關聯
Customer1.java
import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToOne; import javax.persistence.PrimaryKeyJoinColumn;/*** 一對一外鍵關聯* **/ @Entity public class Customer1 {@Idprivate int id;private String name;@OneToOne@JoinColumn(name="customerNoId",unique=true)private CustomerNo1 customerNo1;}CustomerNo1.java import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.OneToOne;/*** 一對一外鍵關聯* **/ @Entity public class CustomerNo1 {@Idprivate int id;private String sn;@OneToOne(mappedBy = "customerNo1")private Customer1 customer1; }
最后表結構
二 一對多
1?一對多單向關聯
Classes.java
import java.util.Set;import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.OneToMany;/*** 一對多單向關聯* */ @Entity public class Classes {@Idprivate int id;private String name;@OneToManyprivate Set<Student> students; }Student.java
package learning.oneToMany import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id;/*** 一對多單向關聯* */ @Entity public class Student {@Id@GeneratedValueprivate int id;private String name; }
最后表結構
2?一對多雙向關聯
Classes1.java
import java.util.Set;import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.OneToMany;/*** 一對多雙向關聯* */ @Entity public class Classes1 {@Idprivate int id;private String name;@OneToMany(mappedBy="classes1")private Set<Student1> students1; }Student1.java
package learning.oneToMany import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.ManyToOne; /*** 一對多雙向關聯* */ @Entity public class Student1 {@Id@GeneratedValueprivate int id;private String name;@ManyToOneprivate Classes1 classes1; }
最后表結構
三 多對多
Role.java
import java.util.Set;import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.JoinTable; import javax.persistence.ManyToMany;/*** 多對多關聯映射* */ @Entity public class Role {@Idprivate int id;private String name;@ManyToMany@JoinTable(name="T_Role_Staff") //中間表private Set<Staff> staffs; }Staff.java import java.util.Set;import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.ManyToMany;/*** 多對多關聯映射* */ @Entity public class Staff {@Idprivate int id;private String name;@ManyToMany(mappedBy="staffs")private Set<Role> roles; }
最后表結構
總結
以上是生活随笔為你收集整理的(7) ebj学习: jpa 一对一,一对多,多对多的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (6) ebj学习:ejb使用jpa注解
- 下一篇: (8) ebj学习: Jpa的SINGL