Ich habe ein unidirektionales many-to-many mapping zwischen zwei Entitäten
Liste -> Item, über eine Cross-Tabelle ListItems.
Sobald Item aus der Liste genommen wird, passiert nichts weiter, bei einem gelöschten
Item muss natürlich aber der Listeneintrag verschwinden. Wie ist der performanteste Weg,
dies umzusetzen, ohne dabei ein bidirektionales mapping zu nutzen?
Momentan sehe ich nur folgende Möglichkeiten:
- Alle Listen laden, manuell durchsuchen und aus der Collection das Item entfernen
- Die Cross-Tabelle als Entität mappen und alle Einträge mit passendem ID-Paar löschen
Gibt es eine Möglichkeit, ein Query/ Criteria so zu formulieren, dass alle Listeneinträge
gelöscht (oder zumindest gefunden) werden, deren Collection ein bestimmtes Entity enthält?
also in etwa (pseudo) :
Code:
..where items contains itemToDelete