【发布时间】:2019-02-27 23:39:39
【问题描述】:
我有一个设备实体如下:
public class Appliance {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
// other appliance fields
}
然后我有另一个类用于将第三方设备映射到设备:
public class ThirdPartyApplianceMapping {
@Id
private Long applianceId;
private Long thirdPartyApplianceId;
@OneToOne
@JoinColumn(name="applianceId", nullable=false)
private Appliance appliance;
}
我希望数据库的结构如下:
Appliance(
id PK,
-- other columns but no col reference to ThirdPartyApplianceMapping
)
ThirdPartyApplianceMapping(
applianceId PK FK references Appliance.id,
thirdPartyApplianceId
)
如何定义/注释我的实体,使ThirdPartyApplianceMapping.applianceId 是一个PK 和FK 回到Appliance.id? Appliance 一定不知道ThirdPartyApplianceMapping。我正在使用 Hibernate 的 JPA 2 实现。
【问题讨论】: