Java 在hibernate中将数据成员声明为主键

Java 在hibernate中将数据成员声明为主键,java,hibernate,struts2,struts,Java,Hibernate,Struts2,Struts,我有2个实体类用户和地址 @Entity class User { int id; String name; } @Entity class Vehicle { @OneToOne User user; String vehName; } 我想将车辆类中的“用户”数据成员声明为主键。有人能告诉我解决方案吗?如中所述: 最后,您可以要求Hibernate从另一个服务器复制标识符 关联实体。在Hibernate的行话中,它被称为外来语 但是JPA映射读起

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

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

@Entity
class Vehicle
{
    @OneToOne
    User user;
    String vehName; 
}
我想将车辆类中的“用户”数据成员声明为主键。有人能告诉我解决方案吗?

如中所述:

最后,您可以要求Hibernate从另一个服务器复制标识符 关联实体。在Hibernate的行话中,它被称为外来语 但是JPA映射读起来更好,因此受到鼓励

或者


您是否尝试用谷歌搜索解决方案?是的..我尝试过…但不幸的是找不到解决方案您想使用
id
name
作为复合钥匙,还是将
User
作为车内的外键?
@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;
}