Eclipse链接表生成策略

时间:2011-01-03 05:58:44

标签: eclipselink

我使用EclipseLink作为JPA Provider。我希望Eclipse Link生成我的表,所以我在dropistence.xml文件中使用了drop-and-create-tables作为eclipse link ddl生成策略。

我的问题如下:

我想实现多对多关系。我有一个拍卖表和一个项目表。 拍卖可以有很多项目,一个项目可以在很多拍卖中。

当Eclipse Link生成表时,我看到它在数据库中创建了四个表。 1)拍卖2)Auction_item 3)项目和4)Item_auction。

Auction_item有两列1)Auction_id 2)item_id Item_acution有两列1)Item_id 2)auction_id

因此,所有Eclipse Link都自己创建了两个桥接表来映射“多对多”关系。

我们可以没有一个具有auction_id,item_id的桥接表来实现相同的目标吗? 如果我们不能,原因是什么?

由于

1 个答案:

答案 0 :(得分:2)

您可能有两个@ManyToMany映射但在一侧缺少mappedby指示。这用于表示一方使用另一方包含的映射信息,并且该方在该数据库级别控制关系。
即:

Auction class{
  @ManyToMany
  List items;
}

Items class {
  @ManyToMany(mappedby="items")
  List auctions;
}