hibernate中有多对多的多态表

时间:2013-07-25 07:39:54

标签: java oracle hibernate many-to-many hibernate-mapping

我正在尝试在hibernate中实现多对多的多态关联。

我有一个界面Animal和两个实施类CatDog。我有另一类Food,我正在寻找通过数据库将Animal界面连接到食品类的多对多关系。我试图了解如何通过像Ruby on Rails实现的多态关联来映射它。

多对多关联应该如下所示:

-------------------------------------------------
|   food_id   |   animal_type   |   animal_id   |
-------------------------------------------------

我一直在研究这个问题,我不知道如何在hibernate中实现它。

1 个答案:

答案 0 :(得分:-3)

你希望你的数据库映射到模型是不是非常清楚,但通常Hibernate映射模拟现实,所以我假设食物被许多动物吃掉,并且动物吃很多食物。 在这种情况下,您需要数据库FOOD_ANIMAL中的链接表,其中包含food_id和animal_id:

FOOD_ANIMAL: food_id int(11),animal_id int(11)

然后你需要一个List<>或设置<>动物的食物,反之亦然。使用@ManyToMany进行映射。有很多关于如何做到这一点的例子,例如: http://www.mkyong.com/hibernate/hibernate-many-to-many-relationship-example-annotation/

如果没有代码示例,我恐怕无法提供更多帮助,但我希望这会有所帮助!