有两个主要的@Entity
类反映了这些表:
TableA {id,name}
TableB {id,name}
一个参考表
TableC {tableA.id,tableB.id}
问题是:如何将TableA
的实体字段与@OneToMany
相关映射到TableB对象列表:
@OneToMany
??????????
private List<TableBEntity> tableBItems;
答案 0 :(得分:3)
如果你真正拥有的是OneToMany(这意味着在tableB.id
中最多只出现一次TableC
),那么映射如下:
@OneToMany
@JoinTable(name = "TableC",
joinColumns = @JoinColumn(name = "TABLE_A_ID"),
inverseJoinColumns = @JoinColumn(name = "TABLE_B_ID"))
private List<TableBEntity> tableBItems;
另外,你所拥有的实际上是ManyToMany,并且映射是相同的,除了@OneToMany
必须被@ManyToMany
替换。