Löschen mehrerer Objekte auf einmal mit CriteriaBuilder

Ich versuche zu löschen, eine Reihe von Objekten mit einer Abfrage, die mit der CriteriaBuilder API. Ich bin auf der Suche nach so etwas wie diese wählen:

CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<T> query = criteriaBuilder.createQuery(entityClass);
Root<T> root = query.from(entityClass);
query.select(root).where(/*some condition*/);
return entityManager.createQuery(query).getResultList();

dann aber löschen, anstatt eine Auswahl. Soweit ich sehen kann, gibt es keine remove oder delete Methode auf CriteriaQuery. Ist es möglich mit dieser API?

Kann ich natürlich ausführen wählen, dann rufen Sie entityManager.remove(object) für jedes Ergebnis, aber das fühlt sich sehr ineffizient.

InformationsquelleAutor Jorn | 2014-08-06
Schreibe einen Kommentar