gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 23:47:08 25 4
gpt4 key购买 nike

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

当我只注释父类(super class)时:
@MappedSuperclass
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)

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

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

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

最佳答案

我发现将父类标记为“抽象”可以解决问题,Hibernate 不再将它包含在 UNION 中,而是将所有子类联合起来。

关于带有@MappedSuperclass 的 hibernate TABLE_PER_CLASS 不会创建 UNION 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6632248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com