@Entity
@Table(name = "people")
public class People (){
@Id //JPA注释: 主键
@GeneratedValue(strategy = GenerationType.AUTO) //设置 id 为自增长
private Long id;
private String name;
//由于,people 是这个一对一的关系的主控方,所以,在people表中添加了一个 pet 的外键。
//通过这个外键来维护 people和pet的一对一关系,而不是用第三张码表。这个是通过@JoinColumn注释实现的。
@OneToOne //JPA注释: 一对一 关系
@JoinColumn(name="pet_fk" )// 在pepole中,添加一个外键 "pet_fk"
private Pet pet;
//省略 get / set 方法...
}
@Entity
@Table(name = "pet")
public class Pet (){
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
//省略 get / set 方法...
//因为这是一个单向的一对一关系,并且,是从 people 到 pet 的一对一关系。
//所以,在 pet 中没有与 people 管理的 属性。也就是说,无法通过 pet 找到 people
}
参考:http://blog.sina.com.cn/s/blog_625d79410101d8st.html