我有2个实体类用户和地址
@Entity
class User
{
int id;
String name;
}
@Entity
class Vehicle
{
@OneToOne
User user;
String vehName;
}
我想将Vehicle类中的“user”数据成员声明为主键。有人能告诉我解决方案吗?
答案 0 :(得分:0)
如the documentation中所述:
最后,您可以要求Hibernate从另一个复制标识符 相关实体。在Hibernate术语中,它被称为外国人 生成器,但JPA映射读得更好,并鼓励。
@Entity
class MedicalHistory implements Serializable {
@Id @OneToOne
@JoinColumn(name = "person_id")
Person patient;
}
@Entity
public class Person implements Serializable {
@Id @GeneratedValue Integer id;
}
或者
@Entity
class MedicalHistory implements Serializable {
@Id Integer id;
@MapsId @OneToOne
@JoinColumn(name = "patient_id")
Person patient;
}
@Entity
class Person {
@Id @GeneratedValue Integer id;
}