Hibernate 加入现有的多对多关系

Hibernate Make a join to existing many to many relationship

我有一个 table 有一个多对一关系到一个多对多关系。我想知道如何用 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;
}

那些 table 由以下关系 link 编辑:TR_SOCIETESCONTACTS

这是我的问题。我有一个 table “Imputation” 必须 link 到一个 TR_SOCIETESCONTACTS 才能引用公司和联系人,但我无法做到。

有人有想法吗?

谢谢:)

如果这符合您的域模型,您可以建立从 ImputationCompanyEntityContactEntity 的关系......或者 - 我认为这更现实 - 你可以创建一个新实体 CompanyContacts,它将映射到 TR_SOCIETESCONTACTS table,从 CompanyEntityContactEntity 和 [=] 中的每一个与该实体建立多对一关系10=] .. 如果您需要将任何状态字段添加到 TR_SOCIETESCONTACTS 关系本身

,这也是唯一的解决方案