カテゴリコレクションに基づいてクエリを実行するJPQLクエリを作成しています。私のカテゴリはnullになる可能性がありますので、categories = NULLを使用してチェックしています。JPQLクエリのコレクションで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:オペランドが1列(複数可)
そして、休止状態、関連するトレースを含まなければならないです
又は( ?、?)でcategory6_.category_id( ?、? )が ヌルである)
JPQLのコレクションでnullをチェックする方法はありますか?私はそれがこのエラーを解決する必要が解決すると思う。助けを歓迎します
ありがとうございます。
1- vorg.email vorgはエイリアスではありません。 2-:電子メールと@paramが "emailId"という名前で定義されています – Zeromus
小さなタイプミスがありました。今修正しました、希望は今明らかです。ありがとう。 – HopeKing