Hallo,...
ich hab folgendes Problem, ich hab 2 Klassen:
Verein & Person ... diese stehen in einer N:M- Beziehung
Nun habe ich eine Methode, die in der DB per Abfrage prüfen soll, ob es schon einen Verein mit dem Namen und den Mitgliedern gibt:
Es soll true zurückgegeben werden, wenn der übergebene Verein mit dem Namen und GENAU der Mitgliederliste (Reihenfolge egal) existiert. Die Abfrage nach dem Namen funzt ohne Probleme, bloß die Abfrage der Liste bekomm ich nicht hin und finde leider auch nicht wirklich viel dazu. Wenn irgendwer nen Link hat immer her damit
Die Frage ist, ob das überhaupt so geht oder ob irgendwie mit Joins arbeiten muss,... ich hatte es schon mit ".in" probiert, aber das war es nicht, da hab ich halt true zurück bekommen, wenn ein Mitglied gleich war
ich hab folgendes Problem, ich hab 2 Klassen:
Verein & Person ... diese stehen in einer N:M- Beziehung
Nun habe ich eine Methode, die in der DB per Abfrage prüfen soll, ob es schon einen Verein mit dem Namen und den Mitgliedern gibt:
Java:
private static boolean existiertderVerein(EntityManager em, Verein verein) {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Verein> cq = cb.createQuery(Verein.class);
Root<Verein> vereinsRoot = cq.from(Verein.class);
cq.where(cb.and(cb.equal(vereinsRoot.get(Verein_.vereinsName),
verein.getVereinsName()),vereinsRoot.get(Verein_.mitglieder) ???)));
TypedQuery<Verein> q = em.createQuery(cq);
if (q.getResultList().isEmpty()) {
return false;
}
return true;
}
Es soll true zurückgegeben werden, wenn der übergebene Verein mit dem Namen und GENAU der Mitgliederliste (Reihenfolge egal) existiert. Die Abfrage nach dem Namen funzt ohne Probleme, bloß die Abfrage der Liste bekomm ich nicht hin und finde leider auch nicht wirklich viel dazu. Wenn irgendwer nen Link hat immer her damit
Die Frage ist, ob das überhaupt so geht oder ob irgendwie mit Joins arbeiten muss,... ich hatte es schon mit ".in" probiert, aber das war es nicht, da hab ich halt true zurück bekommen, wenn ein Mitglied gleich war
Zuletzt bearbeitet: