加入@JoinColumns中的特定列

时间:2014-06-16 07:16:27

标签: java hibernate

@ManyToOne
@JoinColumns
({
    @JoinColumn(name="ADDR_ID", referencedColumnName="ID"),
    @JoinColumn(name="ADDR_ZIP", referencedColumnName="ZIP")
})
public Address getAddress() { return address; }

如何加入@JoinColumns中的特定列?例如,如果Address类中包含ID和ZIP的复合PK,我该如何只加入" ID"列,以便只创建ADDR_ID列,而不是ADDR_ZIP

@MapsId("ID")无法仅引用ID并排除ZIP。

是否可以在休眠状态下使用?

2 个答案:

答案 0 :(得分:0)

如果您只想加入一列,请尝试:

@ManyToOne
@JoinColumns
({
    @JoinColumn(name="ADDR_ID", referencedColumnName="ID")
})
public Address getAnotherAddress() { return address; }

答案 1 :(得分:0)

JPQL是您定义连接条件并获得所需结果的地方

实体定义将java映射到您的数据库世界

如果ID与多个地址匹配,则会获得一个List<>回