gpt4 book ai didi

jpa - 是否可以通过并测试 JPA 中的空列表?

转载 作者:行者123 更新时间:2023-12-02 11:22:59 30 4
gpt4 key购买 nike

我有一个 JPQL 命名查询,它采用 List作为参数。我在 IN 中使用参数短语:

...WHERE x.id IN :list

我想做类似以下的事情,但语法显然不允许我:
...WHERE :list IS EMPTY OR x.id IN :list

也不会:
...WHERE SIZE(:list) = 0 OR x.id IN :list

我在 JPA 2.0 命名查询中尝试做的事情是不可能的吗?我知道如何通过标准 API 或使用普通的旧 JPQL 字符串来做到这一点。

最佳答案

您在查询中尝试执行的操作似乎毫无意义。您正在尝试使用参数的状态来限制查询结果。但是您不会将此参数与您选择的任何内容进行比较。

想想这个查询(没有意义):

SELECT * FROM SOMETABLE WHERE :list IS EMPTY

所以我认为你需要在两个不同的查询之间进行选择之前检查 :list 是否为空:

如果 :list不为空: ...WHERE x.id IN :list
如果 :list为空: (NO WHERE CLAUSE AT ALL)

关于jpa - 是否可以通过并测试 JPA 中的空列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15117816/

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