2

有两个主要@Entity类反映了这些表:

TableA {id,name}
TableB {id,name}

和一张参考表

TableC {tableA.id,tableB.id}

问题是:如何将具有关系TableA的实体字段映射@OneToMany到 TableB 对象列表:

@OneToMany
??????????
private List<TableBEntity> tableBItems;
4

1 回答 1

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.

于 2012-07-13T08:24:39.983 回答