我对Hibernate的ManyToMany映射有一个问题。我有两个类A和B,它们之间的映射是由Hibernate解析的ManyToMany映射:
@Entity
@Table(name="A")
public class A {
@Id
@GeneratedValue
private Long id;
@ManyToMany
@JoinTable(name="C", joinColumns=@JoinColumn(name="a_id"), inverseJoinColumns=@JoinColumn(name="b_id"))
private Set bs;
}
@Entity
@Table(name="B")
public class B {
@Id
@GeneratedValue
private Long id;
@ManyToMany(mappedBy="bs")
private Set bs;
}
如您所见,我使用的联接表是C。到A和B的外键分别为“a_id”和“b_id”。我的理解是,Hibernate将使用a_id和b_id创建组合主键用于表C。
我不想在模型中拥有实体C。但是,我希望在表C上有一个生成的ID和字段a_id和b_id上的唯一约束,而不是一个组合主键。
是否有可能告诉Hibernate使用单独的主键?而不添加实体C?
非常感谢您的任何帮助。
非常感谢!