我有一个这样的实体:
@Entity
public class Person {
@Id
private Long id;
private String firstName;
// Getters and setters
}
id
不是自动生成的,而是由用户决定的。
我有第二个这样的实体:
@Entity
public class PersonDetail {
@Id
@OneToOne
private Long id; // should be referred to id of Person entity
// or maybe private Person person; ???
private String language;
private Integer age;
// Getters and setters
}
同样在第二个实体中,id
不会自动生成。
我想建立@OneToOne
关系,我希望id
的{{1}}是PersonDetail
的主键,但同时必须是PersonDetail
实体(Person
字段)的外键。
是否可以使用Spring JPA / Hibernate注释?
非常感谢, 安德烈
答案 0 :(得分:4)
你可以关注这个wiki: Primary Keys through OneToOne and ManyToOne Relationships
将您的PersonDetail
实体重写为:
@Entity
public class PersonDetail {
@Id
private Long id;
@OneToOne
@PrimaryKeyJoinColumn
private Person person;
private String language;
private Integer age;
// Getters and setters
}