[英]JPA target entity type based on column value
我正在尝试将一些旧代码从手工持久性迁移到Hibernate。 这里的问题是特殊的映射,其中目标实体类型/表由列值定义。
示例数据库表:
表“关系”:
问题是所有这些类型(例如Item或Category)具有相同的抽象父对象,称为GenericObject,它没有自己的表。 继承是TABLE_PER_CLASS。
不好的是,通过parentId或childId您无法分辨出类型,这些ID在这些表中不是唯一的。 您需要查看parentType和childType。
现在我该如何在Hibernate中映射这种疯狂? 我想将父级和子级映射到GenericObject变量,该变量实际上是Item或Category的实例。
有任何想法吗?
Hibernate有@Any
和@ManyToAny
为目标时的实体由类和非唯一ID标识的情况下的注释。
我认为在您的情况下,由于以这种方式标识了父母和子女,因此您需要创建带有以@Any
注释的父母和子女的Relation
实体。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.