標籤:唯一外鍵 hibernate 註解 一對一關聯映射
雙向關聯映射:
One(‘Many’)
import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.FetchType;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.JoinColumn;import javax.persistence.OneToOne;@Entitypublic class Person implements java.io.Serializable { private Integer id; private String name; private IdCard idCard; @Id @GeneratedValue(strategy = GenerationType.AUTO) public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } @Column(name = "person_name") public String getName() { return name; } @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "idCard_id") public void setName(String name) { this.name = name; } public IdCard getIdCard() { return idCard; } public void setIdCard(IdCard idCard) { this.idCard = idCard; }}
One(‘One’)
import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.OneToOne;import org.hibernate.annotations.GenericGenerator;@Entitypublic class IdCard implements java.io.Serializable { private Integer id; private String name; private Person person; @Id @GeneratedValue(generator = "TeacherGenerator") @GenericGenerator(name = "TeacherGenerator", strategy = "native") public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } @Column(name = "name", nullable = false, length = 32) public String getName() { return name; } public void setName(String name) { this.name = name; } @OneToOne(mappedBy = "idCard") public Person getPerson() { return person; } public void setPerson(Person person) { this.person = person; } }
Hibernate-----一對一唯一外部索引鍵關聯映射(註解)