0

让 @OneToOne 成员包含 @ForiegnKey 注释是否有意义。

@Entity 
class User {

    @Id
    @GeneratedValue(strategy = IDENTITY)

    int id;

   @OneToOne
   @ForeignKey
   @JoinColumn(name = "home_address_id", referencedColumnName = "id")
   Address homeAddress;

}

@Entity 
class Address {
    @Id
    @GeneratedValue(strategy = IDENTITY)
    int id;
}
4

1 回答 1

4

我认为没有必要,因为@OneToOne映射应该为列隐式创建一个外键。

另一方面,如果您认为它可以帮助您和其他开发人员更轻松地理解代码并且不会导致任何问题,则可以将其留在那里。

但是,似乎 ForeingKey 注释是特定于休眠的,其中 OneToOne 注释是 Java Persistence API 的一部分。这可能支持将其取出的想法。

于 2010-02-03T06:15:33.893 回答