私は春のデータを使用しています...そして、私はManyToMany関係のエンティティを持っています。JPQLコレクションのコレクション内の句
だから私は、要求のこのような行いたい:
@Query("SELECT d FROM Data d WHERE ((?2) IS NULL OR d.categories IN (?2))")
?2
がリストに対応し、categories
もData
から(別のエンティティの)リストです。
しかし、これはうまくいかない...どんな考えですか? :)
PS:あなたは2つのクエリを使用する必要があります
@Query("SELECT r FROM Data r WHERE (?3 = 0L OR ?3 = (SELECT COUNT(cate.id) FROM Data r2 JOIN r2.categories cate WHERE r.id = r2.id AND cate IN ?2))")
しかし、それは休止状態によって生成された安っぽい要求だと私が望む正確に何ではありません...
@JMA上記のコードをテストしましたが、JPA 2.1 – muasif80
Thxで答えていますが、今は複雑さを増す必要があります。実際、JpaSort.unsafeで春に動的に「順序付け」を使用しています。私は計算された値(例:SIZE(d.saws)はd.sawsもコレクションです)でソートする必要があるので、安全でないメソッドを使用してください。 – JMA