JPA
の@Query
注釈を使用してIN
操作を使用しようとしています。私は、エラーの下に取得しています: -JPA QuerySyntaxException:予期しないASTノード:{ベクトル}条件の場合
antlr.NoViableAltException: unexpected AST node: {vector}
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2112)
org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.hql.internal.ast.QuerySyntaxException:
unexpected AST node: {vector}
[ [select o FROM Stock o where (:productlist_0_, :productlist_1_, :productlist_2_, :productlist_3_ is null or o.productsid IN (:productlist_0_, :productlist_1_, :productlist_2_, :productlist_3_))
私のJavaコードの下にされています - 私はproductlist
にのみ単一の項目を持っている場合、これは正常に動作
@Query("SELECT o FROM Stock o where (:productlist is null or o.productsid IN (:productlist)) ")
List<Stockdiary> getAllStock(Pageable pageable, @Param("productlist") List<Products> productlist)
。しかし、私はproductlist
で複数のアイテムを持っている場合、クエリで以下のように出てくると、エラー: -
select o FROM Stock o where (:productlist_0_, :productlist_1_, :productlist_2_, :productlist_3_ is null or o.productsid IN (:productlist_0_, :productlist_1_, :productlist_2_, :productlist_3_
私はこのlinkを見ているが、この問題を回避するには、私のために働いていません。 私はかっこを付けたままで:productlist
を渡そうとしました。
は取り扱いできない「:paramはNULL IS」パラメータがCollecときまたは多分それを「OR」と組み合わせることである。だからプロバイダのバグとしてそれを上げてください。 –