JPQL IS NOT NULL 返回带有 NULL 的对象

问题描述 投票:0回答:2

我有以下

JPQL
查询:

@Query("select p FROM Partner p where p.partnerIdentifier IS NOT NULL")
    List<Partner> findAfterDates();

这应该返回

Partner Entities
对于
DO NOT
具有 NULL 的所有
partnerIdentifier

但是,我正在运行代码并进行调试,我发现返回的

Collection
包含
entities
,该字段具有
null

这是

JPQL
中的错误吗?

java spring hibernate jpql
2个回答
10
投票

一位同事过来建议我使用

join
,因为
inner
对象是
one to one
映射对象。

以下内容现在返回正确的结果:

@Query("select p FROM Partner p join p.partnerIdentifier pi where pi is not null")
List<Partner> findAfterDates();

再次提醒,在休眠状态下我们有一个

relational database
,而逻辑上应该使用
oop
/
jpql
工作的东西却没有。


0
投票
@Query("select p FROM Partner p JOIN p.partnerIdentifier")
    List<Partner> findAfterDates();

如果使用 LEFT JOIN,则不需要 NOT NULL 语句,只需得到空值

© www.soinside.com 2019 - 2024. All rights reserved.