在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类,是否可以选择使用两者之一还是强制同时使用?
由于要约是另一种关系,是否需要编写联系人的数据传输对象版本以用于优惠关系?
谢谢, 杰罗姆。
感谢您的回复。我在下面的“回答问题”中回答了你的回答。 –