gpt4 book ai didi

java - HQL不提取空字段的结果

转载 作者:行者123 更新时间:2023-12-01 06:11:23 24 4
gpt4 key购买 nike

我想使用 HQL 从表中检索所有元组,即使包含空字段也是如此。逻辑解释如下:

“如果特定字段为空,则返回元组,相反,如果它不为空,则检查查询的“where”子句。”

我尝试这样编写查询,但实际上不起作用。

String query ="FROM Audit t WHERE (t.emp IS NULL OR t.emp.name LIKE '%')";
listaServer = entityManager.createQuery(query).getResultList();

这是审核表

| ID | EMP    | STATE  |
***********************
| 1 | 150 | Active |
| 2 | (null) | Active |

这是 Emp 表

| ID | Name  |
**************
|150 | Tom |
|151 | John |

当我运行查询时,它仅返回审核表的第一个元组。我该如何修复它?

最佳答案

我认为您没有所需的 HQL。我认为当实体之间存在关联时,您将需要内部联接。所以我建议下面的查询

select a from Audit a join a.emp e where e is not null  OR emp.name LIKE '%'

应该是这样的

String query ="select a from Audit a join a.emp e where e is not null  OR emp.name LIKE '%'";
listaServer = entityManager.createQuery(query).getResultList();

关于java - HQL不提取空字段的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34178164/

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