为什么将Hbernate@PrimaryKeyJoinColumn与@OneToOne注释一起使用



我有一个关于Hibernate一对一关联的问题。我经常使用以下映射一对一关联:

@Entity
public class Person(){
@Id
private Long id;
@OneToOne
private Address address;
//others attributes, getters and setters
}
@Entity
public class Address(){
@Id
private Long id;
//others attributes, getters and setters
}

但我看到其他人使用:

    @OneToOne
    @PrimaryKeyJoinColumn
    private Address address;

我看了Hibernate文档,我不清楚。有人可以解释我。为什么要将@PrimaryKeyJoinColumn与@OneToOne一起使用,因为地址实体与它的主键隐式映射?有什么东西,我不见了吗?

感谢

您可以使用@PrimaryKeyJoinColumn或@JoinColumn。主要区别在于@PrimaryKeyJoinColumn指定源实体的主键用作目标实体的外键。@JoinColumn(name="column_name")指定将源实体的列用作目标实体的外键。

最新更新