【发布时间】:2016-01-29 08:59:23
【问题描述】:
我是 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
但显然它不起作用,我该如何进行此查询?我正在使用休眠实现。
我需要保留分页和排序,如果可能的话,我认为从“连接”更改为“单表”可能会更好,这有什么意义吗?
提前致谢
【问题讨论】:
标签: java hibernate jpa inheritance