2
私はEntity BのCarPropertyに対するOneToMany関係でEntity A say Carを取得しました。QueryDSLページング重複の並べ替え
マイカーリポジトリは、ページングをサポートするためにQueryDslPredicateExecutorを拡張し、ソート:
Page<T> findAll(Predicate predicate, Pageable pageable);
私はページング可能変数でソートを定義し、CarPropertyのコラムで、私は結果を並べ替えるクエリを実行しようとしています。 しかし、それはCarとCarPropertyの間のOne To Many関係であるため、私はCarの複製を返しました。 この構造を使用してCarで明確な結果を得ることは可能ですか?
それは述語に明確な使用することができない場合、どのように私は述語で次のクエリを表すことができ(使用して重複を排除するために存在している):事前に
SELECT Car.*
FROM Car C LEFT JOIN CarProperty CP ON (C.ID = CP.CAR_ID)
WHERE EXISTS (SELECT 1
FROM CarProperty CP2
WHERE CP2.CAR_ID = C.ID AND CP2.ID = CP.ID)
ORDER BY CP.PROPERTY_NAME ASC;
おかげ