为什么要使用带有@OneToOne注释的Hbernate @PrimaryKeyJoinColumn?

时间:2015-03-24 11:22:44

标签: java hibernate hibernate-mapping one-to-one

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

@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一起使用,因为地址实体与它的主键隐式映射? 有什么东西,我不见了?

谢谢

1 个答案:

答案 0 :(得分:0)

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