所以,我有以下实体:
@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;
....
}
我的挑战是,我需要来自商人实体的@JoinColumn(“ TenantID”)还要成为我的EntityOne中的PK(只是tenantId!“ MerchantId”将保持不变)。我发现的唯一内容是@MapId注释,但这会将@JoinColumns中提到的FK都添加到所需的主键中。
谢谢您!
通过将@JoinColumns标记为insertable / updatebla为false并创建一个额外的商人ID字段(通过我在商人设置器中设置的值来解决)>