0
JPA問題:我想使用連接表(Person_Address)建模1:N(人&地址)關係。JPA I:N和1:1使用連接表
人(PERSONID PK)
地址(addressId PK)
PersonAddress( PERSONID,addressId複合PK, PERSONID FK引用人, addressid FK引用地址)
如何映射這些關係?如何在加載Person對象時加載地址列表?
JPA問題:我想使用連接表(Person_Address)建模1:N(人&地址)關係。JPA I:N和1:1使用連接表
人(PERSONID PK)
地址(addressId PK)
PersonAddress( PERSONID,addressId複合PK, PERSONID FK引用人, addressid FK引用地址)
如何映射這些關係?如何在加載Person對象時加載地址列表?
您正在描述通常不需要連接表的OneToMany關係。你在許多方面都有一個引用一方的領域。
但是,如果你真的想這樣做,你在做什麼,那麼這應該工作:
@Entity
public class Person {
...
@OneToMany
@JoinTable(
name="PersonAddress",
joinColumns = @JoinColumn(name="personId"),
inverseJoinColumns = @JoinColumn(name="addressId")
)
public Set<Address> getAddresses() {...}
...
}
你不需要`@ JoinTable`在這種情況下 - 單向一個一對多的關係用途默認情況下是一個連接表,除非指定了`@ JoinColumn`。 – axtavt 2010-12-23 18:15:10