我正在尝试创建一系列对象,这些对象都存储在单独的表中,但所有这些表上都有一组共同的字段。我希望 Hibernate 对所有这些表进行 UNION,但不包括超类作为表。
当我只用注释超类时:@MappedSuperclass @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
...hibernate 将为超类的 (n) 个子类型分别运行 (n) 个查询。
当我删除@MappedSuperclass 而将@Entity 放在超类上时,Hibernate 将执行花哨的 UNION 查询,但将超类作为表包含在 UNION 中(超类没有表)。
如何在不将父类设为 @Entity 的情况下将所有子类(而不是单独的查询)放在 UNION 中(因为它不是实体,所以没有表)?