gpt4 book ai didi

JPA 只在联合中执行第一个选择语句?

转载 作者:行者123 更新时间:2023-12-04 05:09:28 25 4
gpt4 key购买 nike

我编写了一个联合多个 select 语句的 JPQL 语句,每个语句选择一个不同的字符串常量。查询的简化版本如下所示:

SELECT DISTINCT 'A' AS widget_type
FROM WidgetA widgetA
WHERE widgetA.creationTimestamp > :cutoff
UNION SELECT DISTINCT 'B' AS widget_type
FROM WidgetB widgetB
WHERE widgetB.creationTimestamp > :cutoff

查询不会导致任何错误,但我没有得到我期望的结果。我看到生成的 SQL 没有任何联合 - 它只从第一个选择查询表:
select distinct 'A' as col_0_0_ 
from widget_a widget0_
where widget0_.creation_timestamp>?

JPA 在第一个 select 语句之后忽略所有内容是否有明显的原因?如果有什么不同,我将使用 Hibernate 4.1.9 作为 JPA 实现,并使用 MySQL 数据库。

最佳答案

JPQL没有 UNION 这样的概念。因此,任何具有它的“查询”都不是 JPQL,因此应该被拒绝为无效的 JPQL(DataNucleus JPA 肯定会这样做)

关于JPA 只在联合中执行第一个选择语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15062501/

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