JPA多态与多个表的关联

ken*_*3th 6 hibernate jpa polymorphic-associations

实体是否可能与多个表具有一对一多态关联.假设一个实体有两个特定的列,用于:

link_type - 标识应与哪个表关联的列

link_id - 在标识表后定义表的外键的列.

ere*_*can 9

我认为你的意思是多态关联的继承映射.

实体继承

JPA有一个强大的功能,称为实体继承,类似于java中的类继承.实体类可以扩展非实体类,非实体类可以扩展实体类.实体类既可以是抽象的,也可以是具体的.

继承策略

有3种继承策略

  • 每个具体类策略表
  • 加入的子类策略
  • 单表策略

每个具体类策略表

每个具体类继承映射策略的表基于为每个实体映射的单独表.每个类在DB中都有自己的表,而实体类是从基类继承的.这种策略的不同之处在于表格在逻辑上不是分开的.它们之间仍然存在继承.

加入的子类策略

连接表继承映射策略是基于连接到基表的单独表.有一些类继承自基类,而数据表也有相同的方案,它们使用外键相互链接.

单表策略

JPA映射具有称为继承映射的强大功能.它在JPA中具有与OOP概念中类似的概念.表和映射是继承的基类或表.有三种类型的映射策略,一种称为单表映射.

您可以在我的教程中看到所有这些内容的详细说明.请看看他们.

也可以看看

实体继承

每个具体类策略表

加入的子类策略

单表策略

JPA教程

Hibernate参考


ken*_*3th 1

我想我已经通过使用 @Any 或 @ManyToAny 注释找到了解决方案。这些不是标准的 JPA 注释,而是 Hibernate 特定的注释。

  • 请发布问题的解决方案,这个答案对读者没有任何帮助。 (2认同)