双向关联映射:
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; @Entity public 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; @Entity public 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; } }
原文地址:http://blog.csdn.net/hekewangzi/article/details/41594473