これを最初の試みで明確に説明できることを願っています。したがって、Person と Address という 2 つのエンティティがあります。1 人が複数の住所を持つことができるため、私の Person エンティティは住所のリストで構成されます。住所はさまざまな人の間で共有できますが、私の Address エンティティは Person エンティティへの参照を必要としないことに注意してください。また、各 Address エンティティにはランク属性があります。
私のテーブル構造は次のとおりです。
PERSON (
person_id,
etc,
primary key (person_id)
)
ADDRESS (
address_id,
etc,
primary key (address_id)
)
PERSON_ADDRESS_MAP (
person_id,
address_id,
rank,
foreign key (person_id) references person (person_id),
foreign key (address_id) references address (address_id),
primary key (person_id, address_id, rank)
)
上記を考えると、個人のアドレスのリスト、またはアドレスのランク属性に注釈を付ける方法がわかりません。Person は次のように見えると思います。
@Entity
public class Person {
@OneToMany(cascade = CascadeType.ALL, fetch=FetchType.EAGER)
@JoinTable(name="person_address_map", joinColumns=@JoinColumn(name="person_id"), inverseJoinColumns=@JoinColumn(name="address_id") )
private List<Address> addresses;
...
}
Address エンティティでランクに注釈を付ける方法がわかりません。
前もって感謝します