我正在尝试在hibernate中实现多对多的多态关联。
我有一个界面Animal
和两个实施类Cat
和Dog
。我有另一类Food,我正在寻找通过数据库将Animal界面连接到食品类的多对多关系。我试图了解如何通过像Ruby on Rails实现的多态关联来映射它。
多对多关联应该如下所示:
-------------------------------------------------
| food_id | animal_type | animal_id |
-------------------------------------------------
我一直在研究这个问题,我不知道如何在hibernate中实现它。
答案 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/
如果没有代码示例,我恐怕无法提供更多帮助,但我希望这会有所帮助!