我有一张与多对多关系有多对一关系的桌子。我想知道如何使用Hibernate注释表示,无法找到任何可以帮助我的东西。
以下是我的课程:
CompanyEntity.java:
@Entity
@Table(name="TR_SOCIETES")
public class CompanyEntity {
@Id
@Column(name="Id")
private String _id;
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(
name="TR_SOCIETESCONTACTS",
joinColumns = {@JoinColumn(name="Societe")},
inverseJoinColumns = {@JoinColumn(name="Contact")}
)
private Collection<ContactEntity> _contacts;
}
ContactEntity.java:
@Entity
@Table(name="TR_CONTACTS")
public class ContactEntity {
@Id
@Column(name = "Id")
private String _id;
@ManyToMany(mappedBy = "_contacts")
private Collection<CompanyEntity> _companies;
}
Thoses表由以下关系链接:TR_SOCIETESCONTACTS
这是我的问题。我有一张桌子&#34; Imputation
&#34;必须链接到一个TR_SOCIETESCONTACTS
才能引用公司和联系人,但我无法做到这一点。
有人有想法吗?
谢谢:)
答案 0 :(得分:0)
如果符合您的域名模式,您可以建立从Imputation
到CompanyEntity
或ContactEntity
的关系......或者 - 我认为这更为现实 - 您可以制作一个将映射到CompanyContacts
表的新实体TR_SOCIETESCONTACTS
,从CompanyEntity
和ContactEntity
以及Imputation
中的每一个与该实体建立多对一关系..这如果您需要将任何州字段添加到TR_SOCIETESCONTACTS
关系本身