JPQL查询---如何使用“is null”

发布于 2024-10-08 00:25:06 字数 408 浏览 0 评论 0原文

我在 JPQL 中使用以下查询来查询地址列为空的人员。

列表 rl = em.createQuery("从 Person 中选择 o 作为 o 其中 o.address IS NULL" ).setFirstResult( 0).setMaxResults( 50).getResultList(); ...

这行代码总是返回一个空列表,显然该表确实有与条件匹配的条目。

类人{ 地址地址; 字符串名称; ... } 类地址{ 字符串名称; ... }

有人知道这个 jpql 语句有什么问题吗? 提前致谢。

i use the following query in JPQL to query the people whose address column is empty.

List rl =
em.createQuery( "select o from Person as o where
o.address IS NULL" ).setFirstResult(
0).setMaxResults( 50).getResultList();
...

this line of code always return an empty list, obviously the table does has entries that match the condition.

class Person {
Address address;
String name;
... }
class Address {
String name;
... }

anyone knows what's wrong with this jpql statement?
thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

习惯成性 2024-10-15 00:25:06

如前所述,地址列为空,然后尝试使用 IS EMPTY 表达式而不是 IS NULL

em.createQuery( "SELECT o FROM Person o where (o.address.id IS NULL OR o.address.id = 0").setMaxResults(50).getResultList();

根据 id 的数据类型检查约束。

此外,无需提及 setFirstResult(0) 因为它不会跳过任何结果 &如果没有它,默认情况下将获取所有匹配结果。

As mentioned, address column is empty, then try using IS EMPTY expression instead of IS NULL.

em.createQuery( "SELECT o FROM Person o where (o.address.id IS NULL OR o.address.id = 0").setMaxResults(50).getResultList();

Check constraint according to id's datatype.

Also there is no need to mention setFirstResult(0) as it is not going to skip any results & without it, by default all matching results will be fetched.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文