通过公民(Person)和身份证(IdCards)的例子来说明:
公民的一方
- package edu.scut.f_AssoMap_single_one2one;
- import javax.persistence.*;
- //公民(一方)
- @Entity
- @Table(name="PER_INFO")
- public class Persons {
- @Id
- @GeneratedValue(strategy=GenerationType.AUTO)
- private int id;
- private String name;
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- }
- 身份证的一方
- package edu.scut.f_AssoMap_single_one2one;
- import javax.persistence.*;
- //身份证(一方)
- @Entity
- @Table(name="IDCD_INFO")
- public class IdCards {
- @Id
- @GeneratedValue(strategy=GenerationType.AUTO)
- @Column(name="IDCD_ID")
- private int id;
- private String cardno;
- /** 一方*/
- @OneToOne(fetch=FetchType.LAZY,
- cascade=CascadeType.ALL,
- targetEntity=Persons.class) //维护关联关系(从表)
- /** 生成外键列*/
- @JoinColumn(name="P_ID",unique=true,referencedColumnName="id")
- private Persons persons;
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getCardno() {
- return cardno;
- }
- public void setCardno(String cardno) {
- this.cardno = cardno;
- }
- public Persons getPersons() {
- return persons;
- }
- public void setPersons(Persons persons) {
- this.persons = persons;
- }
- }