2

我正在尝试在休眠中实现多对多多态关联。

我有一个接口Animal和两个实现类CatDog. 我有另一个类 Food,我希望通过数据库多对多关系将 Animal 接口连接到 food 类。我试图了解如何通过像 Ruby on Rails 实现这样的多态关联来映射它。

多对多关联应如下所示:

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

我已经为此工作了一段时间,但我不确定如何在休眠中实现它。

4

1 回答 1

-3

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

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

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

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

于 2013-08-08T15:05:17.237 回答