在 JPQL 查询中检查集合上的 NULL?
我正在编写一个基于类别集合的查询的JPQL查询。我的类别可以为空,因此我正在使用:categories=NULL进行检查。
@Query("Select v from Vendor v join v.org vorg join v.categories cats WHERE vorg.email =:email AND (cats in :categories or :categories = NULL)")
Set<Vendor> filterVendors(@Param("emailId") String emailId, @Param("categories") Set<Category> categories);
当类别为 NULL 时,上述方法可以正常工作。但是,当类别有多个值时,我会收到错误
java.sql.SQLException: Operand 应包含 1 列
而休眠相关跟踪是
category6_.category_id in ( ? , ? ) or ( ? , ? ) 是 null )
如何在 JPQL 中检查集合上的 null?我认为解决这个问题应该解决这个错误。任何帮助赞赏
谢谢。