Hibernate复合键-从@JoinColumns添加另一个键

问题描述 投票:0回答:1

所以,我有以下实体:

@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中提到的F​​K都添加到所需的主键中。

谢谢您!

java hibernate jpa hibernate-mapping
1个回答
0
投票

通过将@JoinColumns标记为insertable / updatebla为false并创建一个额外的商人ID字段(通过我在商人设置器中设置的值来解决)>

© www.soinside.com 2019 - 2024. All rights reserved.