【发布时间】:2011-11-21 09:36:52
【问题描述】:
我有这些表,组织可以是许多消息的发送者或接收者,一个 msg 可以有 2 个发送或接收的组织。我知道我的数据库没有意义,但我无法更改它:
那么,我是否将 SenderReceiver 连接到 Msg 作为 1-to-n,将 Organization 连接到 SenderReceiver 作为 n-to-1?反之亦然 n-to1 和 1-to-n?
发送者接收者:
public class Senderreceiver implements java.io.Serializable {
private Set<Organization> organizations = new HashSet();
private Set<Msg> msg = new HashSet();
xml 文件:
<set fetch="select" inverse="true" lazy="true" name="msgs" table="MSG">
<key>
<column name="MsgID" not-null="true"/>
</key>
<one-to-many class="entity3.Msg"/>
</set>
<set fetch="select" inverse="true" lazy="true" name="organizations" table="ORGANIZATION">
<key>
<column name="OrganizationID" not-null="true"/>
</key>
<one-to-many class="entity3.Organization"/>
</set>
消息:
public class Msg implements java.io.Serializable {
private Senderreceiver senderreceiver;
xml:
<many-to-one class="entity3.Senderreceiver" fetch="select" name="senderreceiver">
<column name="SenderReceiverID" not-null="true"/>
</many-to-one>
组织:
public class Organization implements java.io.Serializable {
private Senderreceiver senderreceiver;
xml:
<many-to-one class="entity3.Senderreceiver" fetch="select" name="senderreceiver">
<column name="SenderReceiverID" not-null="true"/>
</many-to-one>
我们将不胜感激。提前致谢!
【问题讨论】:
标签: java hibernate orm entity-relationship foreign-key-relationship