我的表格如下:
1- medical_company :
2- account_entity :
实体:
1- MedicalCompany:
@SuppressWarnings("serial")
@Entity
@Table(name = "medical_company")
public class MedicalCompany implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "medical_company_id", unique = true, nullable = false)
@Basic(fetch = FetchType.EAGER)
private Long id;
}
2- AccountEntity:
@SuppressWarnings("serial")
@Entity
@Table(name = "account_entity")
public class AccountEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "account_entity_id", unique = true, nullable = false)
@Basic(fetch = FetchType.EAGER)
private Long id;
}
我想在medical_company表中将 medical_company_id 作为外键而不定义主键,如何实现?
答案 0 :(得分:1)
实体必须拥有ID。这是强制性的。此ID是否是数据库中的实际PK并不重要(尽管我没有看到任何理由不将其定义为PK),但ID必须是不可变的且在表的所有行中都是唯一的。
答案 1 :(得分:0)
Hibernate不会允许用PK来定义实体。因此,您应该将medical_company_id声明为主键,并将其作为account_entity表的外键。