Ich möchte alle Lautsprecher auswählen => Ich brauche alle Benutzer mit spekaerEvents ist nicht null.Frühling viele zu viele wählen
Ich verwende Spring Data und versuchte, Repository mit Methode zu verwenden, aber es funktioniert nicht.
Es gibt alle Lautsprecher, aber Lautsprecher dupliziert (so wird es 5 mal User1 sein, 5-mal User2 usw.)
public interface UserRepository extends JpaRepository<User, Long> {
List<User> getBySpeakerEventsIsNotNull();
}
Ich weiß, ich @query Annotation verwenden können, um benötigte Benutzer zu wählen, aber ich kann‘ t Finde es heraus (Frage selbst).
Ich habe so etwas, aber es funktioniert auf die gleiche Weise. Ich habe das Gefühl, dass ich DISTINCT irgendwo hinzufügen muss, aber ich weiß nicht wie.
SELECT *
FROM public.calendar_users
INNER JOIN user_speaker_event ON calendar_users.id = user_speaker_event.calendar_user_id
1. Stellen Sie fest, dass Query eine JPQL- und keine SQL-Abfrage erwartet. 2. Erkenne, dass JPQL nicht dasselbe ist wie JPQL und verdient gelernt zu werden, genau wie du SQL einmal gelernt hast. 3. Öffnen Sie das Hibernate-Handbuch und suchen Sie nach dem JPQL-Kapitel in der Dokumentation (das Lesen des gesamten Handbuchs kann ebenfalls eine gute Idee sein). 4. Lesen Sie das Kapitel zweimal oder dreimal, falls erforderlich. 5. Sie sollten jetzt in der Lage sein, zumindest eine JPQL-Abfrage auszuprobieren und verschiedene Benutzer auszuwählen. Beachten Sie, dass kein Sprecher jemals eine Null-Sammlung von Ereignissen haben wird. Die Sammlung ist möglicherweise leer, aber nicht null. –