我正在尝试创建一系列对象,这些对象全部存储在单独的表中,但所有这些表上都有一组共同的字段。我希望 Hibernate 对所有这些表进行 UNION,但不包括超类作为表。
当我用以下方式注释超类时:
@MappedSuperclass
@Inheritance(策略=InheritanceType.TABLE_PER_CLASS)
...hibernate 将为超类的 (n) 个子类型分别运行 (n) 个查询。
当我删除 @MappedSuperclass 并将 @Entity 放在超类上时,Hibernate 将执行奇特的 UNION 查询,但将超类作为表包含在 UNION 中(没有超类的表)。
如何将所有子类(而不是单独的查询)联合起来,而不使父类成为@Entity(因为它不是一个实体,没有它的表)?
我发现将父类标记为“抽象”可以解决问题,Hibernate 不再将其包含在 UNION 中并且didUNION 将所有子类结合在一起。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)