5
私はパラメータとしてList
を取るJPQL名前付きクエリを持っています。JPAで空のリストを渡してテストすることはできますか?
...WHERE x.id IN :list
私は、次のような何かをしたいのですが、構文は明らかに私をさせません:
...WHERE :list IS EMPTY OR x.id IN :list
どちらの意志:
私はIN
句にパラメータを使用しています
...WHERE SIZE(:list) = 0 OR x.id IN :list
JPA 2.0という名前のクエリでは、私がやろうとしていることはありえませんか?私は基準APIを介してやるか、単純な古いJPQL文字列を使用する方法を知っています。
あなたはもちろんのかなり正しいです。私はその条件をコード内でクエリ自体に移すことを望んでいましたが、これはJPQL BNFではサポートされていません。 –
私は弱い防衛の中で、生成されたシナリオでは、次のような種類のSQL(JPQLではない)がよく見られるでしょう: 'SELECT x FROM y WHERE 1 = 1;'(WHERE節を組み立てているものは、 '1 = 1'は' WHERE'節にありますので、動的アセンブリは、あなたが話しているif/thenロジックのようなものを行う必要はありません)。言いましたが、私はこれをJPQLで取り除くことはできないと思います。ありがとう。 –