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