gpt4 book ai didi

JPQL查询---如何使用 'is null'

转载 作者:行者123 更新时间:2023-12-03 23:29:02 24 4
gpt4 key购买 nike

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

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



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

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



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

最佳答案

如前所述,地址栏为空,然后尝试使用 是空的 表达式而不是 为空 .

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

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

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

关于JPQL查询---如何使用 'is null',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4482560/

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