gpt4 book ai didi

java - JPA连接继承查询

转载 作者:太空宇宙 更新时间:2023-11-04 13:17:36 27 4
gpt4 key购买 nike

我是 JPA 继承的新手。我不知道如何查询这样的内容:

假设一个联合继承映射,其中 A 是具有“id”和“name”的实体。并且有继承自A的实体A1和A2。A1 提供字段“int1”,A2 提供字段“int2”

我想使用 JPQL 获取两列:“name”、“int”(这一个可能是“int1”或“int2”)

我想做这样的事情:

select a.name,
case type(a)
when A1 a1 then a1.int1
when A2 a2 then a2.int2
end as int
from A a

但是显然它不起作用,我该如何进行这个查询?我正在使用 hibernate 实现。

我需要保留分页,如果可能的话,还需要保留排序,我认为从“联接”更改为“单表”可能会更好,这有什么意义吗?

提前致谢

最佳答案

您可以使用 UNION。

select a1.name as name, a1.int1 as id
from A1 a1
UNION
select a2.name as name, a2.int2 as id
from A2 a2

关于java - JPA连接继承查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33410501/

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