在Spring/Hibernate/Java/Tomcat應用程序中,我正在編寫組織與其聯繫人之間的OneToMany關係。Hibernate:具有兩個不同ManyToOne關係的子表
組織1:M聯繫(有外鍵org_id)
在組織我有這樣的領域:
@OneToMany(mappedBy="organization")
private List<Contact> contacts;
在跟我有這樣的領域:
@ManyToOne
@JoinColumn(name="org_id")
private Organization organization;
所有到目前爲止工作正常。現在我添加一個優惠的概念。優惠可以由組織進行,並且您可以與指定的聯繫人聯繫以獲得特定優惠。
優惠有其組織(org_id)和指定聯繫人(contact_id)的外鍵。
到目前爲止,報價看起來像:
@OneToOne
@JoinColumn(...)
private Organization offering_org;
@OneToOne
@JoinColumn(...)
private Contact offering_contact;
這裏來我的問題點。我已經註釋了Contact類與Organization一起使用。如果我嘗試以通常的Hibernate方式持續提供Offer對象,則需要將組織對象和Contact對象的副本存儲到Offer對象中。這似乎與我現有的組織有衝突:聯繫使用這兩個Java類。例如,如果我與Offer一起使用1:1,如果我將它放入Contact類,是否可以選擇使用兩者之一還是強制同時使用?
由於要約是另一種關係,是否需要編寫聯繫人的數據傳輸對象版本以用於優惠關係?
謝謝, 傑羅姆。
感謝您的回覆。我在下面的「回答問題」中回答了你的回答。 –