多对多关系的属性(Hibernate)

nik*_*ers 8 java attributes annotations many-to-many hibernate

我有实体类A和C.它们映射表tblA和tblC并且它们之间有多对多的关系,tblB在它们之间进行映射.tblB包含A_ID,C_ID和SetDate,最后一个是它设置的日期,因此是关系的属性.我的问题是,我如何最好地映射这个属性?目前他们没有映射,如下所示:

A:

@ManyToMany(targetEntity=C.class, cascade={ CascadeType.PERSIST, CascadeType.MERGE } )
@JoinTable(name="tblB", joinColumns=@JoinColumn(name="A_ID"), inverseJoinColumns=@JoinColumn(name="C_ID") )
private Collection<C> Cs;
Run Code Online (Sandbox Code Playgroud)

C:

@ManyToMany( cascade = {CascadeType.PERSIST, CascadeType.MERGE}, mappedBy = "Cs", targetEntity = A.class )
private Collection<A> As;
Run Code Online (Sandbox Code Playgroud)

我怎么能得到tblB.SetDate呢?

干杯

KLE*_*KLE 10

据我所知,不可能以这种方式映射,你必须切换到一对多和一对多的关系,你的B在中间.您的日期将是B的属性.


由于缺乏进化性,Hibernate文档建议一般避免使用多对多,并从一开始就使用这两种关系.