J'ai une entité A dire Car avec une relation OneToMany à une entité B dit CarProperty.QueryDSL Paging Tri des doublons
Mon dépôt Car étend QueryDslPredicateExecutor pour soutenir la pagination et le tri:
Page<T> findAll(Predicate predicate, Pageable pageable);
Je suis en train d'exécuter une requête où je trier les résultats, par une colonne de CarProperty, définissant le tri sur paginable variables . Cependant, comme il s'agit d'une relation One to Many entre Car et CarProperty, j'ai renvoyé des doublons de Car. Est-il possible d'obtenir des résultats distincts sur Voiture en utilisant cette structure?
S'il est impossible d'utiliser distincte sur le prédicats, comment pourrais-je représenter la requête suivante dans le prédicat (en utilisant existe pour éliminer les doublons):
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;
Merci à l'avance