一个实体是否有可能与多个表具有一对一的多态性关联。假设一个实体有 2 个特定的列,用于:
link_type - 标识应关联到哪个表的列
link_id - 识别表后定义表外键的列。
一个实体是否有可能与多个表具有一对一的多态性关联。假设一个实体有 2 个特定的列,用于:
link_type - 标识应关联到哪个表的列
link_id - 识别表后定义表外键的列。
我认为您的意思是多态关联的继承映射。
实体继承
JPA 有一个强大的特性,称为实体继承,类似于 java 中的类继承。实体类可以扩展非实体类,非实体类可以扩展实体类。实体类既可以是抽象的,也可以是具体的。
继承策略
有3种继承策略
每个具体类策略的表
每个具体类继承映射策略的表基于为每个实体映射的单独表。每个类在数据库中都有自己的表,而实体类是从基类继承的。此策略的不同之处在于表在逻辑上没有分开。他们之间仍然存在着继承。
加入子类策略
联接表继承映射策略基于联接到基表的单独表。有些类是从基类继承的,数据表也有相同的方案,它们使用外键相互链接。
单表策略
JPA 映射具有称为继承映射的强大功能。它在 JPA 中的概念与 OOP 概念中的概念相似。表和映射是继承的基类或表。映射策略有 3 种类型,一种称为单表映射。
你可以在我的教程中看到所有这些的详细解释。请看看他们。
也可以看看
我想我已经通过使用 @Any 或 @ManyToAny 注释找到了解决方案。这些不是标准的 JPA 注释,而是休眠特定的注释。