0

我有 2 个实体类用户和地址

@Entity
class User
{
    int id;
    String name;
}

@Entity
class Vehicle
{
    @OneToOne
    User user;
    String vehName; 
}

我想将 Vehicle 类中的“用户”数据成员声明为主键..谁能告诉我解决方案?

4

1 回答 1

0

文档中所述

最后,您可以要求 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;
}
于 2012-12-05T20:18:58.380 回答