JPS:检查空属性的 HQL 查询

JPS : HQL query to check null attribute

我有如下包裹和文件实体

@Entity
Parcel{
    Long id;
    String name;
    File file;
}

@Entity
File{
    Long id;
    String name;
    byte[] data; 
}

我正在尝试获取文件引用为空的包裹所以我尝试了下面的方法,即使我有几个文件引用为空的包裹也返回了空列表

select p.id from Parcel as p join p.File as f where f is null

有人可以帮助我使用此 HQL 查询来获取包含空文件引用的包裹吗?

您只需要一个左(外)连接:

select p.id from Parcel as p left join p.File as f where f is null

您的 joininner join

select p.id from Parcel as p where p.file is null