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

Java 为什么要将Hbernate@PrimaryKeyJoinColumn与@OneToOne注释一起使用?,java,hibernate,hibernate-mapping,one-to-one,Java,Hibernate,Hibernate Mapping,One To One,我有一个关于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,

我有一个关于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=列\指定源实体的列用作目标实体的外键