【发布时间】:2024-04-26 04:40:01
【问题描述】:
所以,我有以下实体:
@Entity
public class EntityOne{
@EmbeddedId
private EntityOneIdentity entityOneIdentity;
@ManyToOne
@JoinColumns(value = {
@JoinColumn(name = "MerchantID", referencedColumnName = "MerchantID"),
@JoinColumn(name = "TenantID", referencedColumnName = "TenantID")})
private Merchant merchant;
.......
}
使用身份(复合键):
@Embeddable
public class EntityOneIdentity implements Serializable {
@Column(name = "EntityID")
private String entityID;
@Column(name = "TenantID")
private String tenantID;
....
}
我的挑战是我需要来自 Merchant Entity 的 @JoinColumn("TenantID") 也是我的 EntityOne 中的一个 PK(只是tenantId!“MerchantId”将保持原样)。我发现的唯一东西是@MapId 注释,但这会将@JoinColumns 中提到的两个 FK 添加到我想要的主键中。
提前谢谢你!
【问题讨论】:
-
尝试使用
@JoinColumn("TenantID", insertable=false, updatable=false)
标签: java hibernate jpa hibernate-mapping