小编Sea*_*loy的帖子

带有@MappedSuperclass 的休眠 TABLE_PER_CLASS 不会创建 UNION 查询

我正在尝试创建一系列对象,这些对象都存储在单独的表中,但是所有这些表上都有一组共同的字段。我希望 Hibernate 对所有这些表进行联合,但不包括超类作为表。

当我只用 @MappedSuperclass @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS) 注释超类时

...hibernate 将为超类的 (n) 个子类型分别运行 (n) 个查询。

当我删除@MappedSuperclass 并将@Entity 放在超类上时,Hibernate 将执行花哨的 UNION 查询,但将超类作为表包含在 UNION 中(超类没有表)。

如何在不使父类成为@Entity(因为它不是实体,因此没有表)的情况下将所有子类(不是单独的查询)一起使用 UNION?

union annotations hibernate table-per-class mappedsuperclass

4
推荐指数
1
解决办法
2321
查看次数