簡體   English   中英

Hibernate-具有復合ID的聯接表

[英]Hibernate - Join Table with Composite ID

我有一個人表( PersonID )和一個地址表( AddressID )。 我想創建一個名為Person_Address的新Join表,該表使用ManyToMany關系映射Person_Address Person->Adress並且必須指定主鍵作為兩個主鍵( PersonID - AddressID )的組合。

如何使用Hibernate HBM語法做到這一點?

使用@ManyToMany@ManyToMany Hibernate中的@ManyToMany表。 連接表將存在於您的數據庫中,但不在您的代碼中,Hibernate知道如何處理。

例:

人員類(作為關系的所有者):

@ManyToMany(targetEntity = Address.class, cascade = { CascadeType.PERSIST, CascadeType.MERGE }, fetch = fetchType.LAZY)
@JoinTable(name = "person_address", joinColumns = @JoinColumn(name = "PersonID"), inverseJoinColumns = @JoinColumn(name = "AddressID"))
List<Address> addresses;

地址類別(如果需要):

@ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE }, mappedBy = "addresses", targetEntity = Person.class, fetch = FetchType.LAZY)
List<Person> persons;

編輯:

鏈接將幫助您進行多對多XML映射。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM