JPA问题:我正在尝试使用联结表(Person_Address)建模1:N(人员和地址)关系。
人(personId PK)
地址(addressId PK)
PersonAddress( personId,addressId复合PK, personId FK引用人, addressid FK参考地址)
如何映射这些关系?加载Person对象时如何加载地址列表?
答案 0 :(得分:0)
您正在描述通常不需要连接表的OneToMany关系。你只是在很多方面有一个引用一方的字段。
但是,如果你真的想做你正在做的事情,那么这应该有效:
@Entity
public class Person {
...
@OneToMany
@JoinTable(
name="PersonAddress",
joinColumns = @JoinColumn( name="personId"),
inverseJoinColumns = @JoinColumn( name="addressId")
)
public Set<Address> getAddresses() {...}
...
}