Guten Abend zusammen,
seit einiger Zeit beschäftige ich mich mit einem kleinen Glaubenskrieg im Kopf, den ich nicht so ganz los werde. Bei der Modellierung eines komplexen Datenmodells habe ich hauptsächlich bidirektionale Verbindungen verwendet. Allerdings sind einige dieser Verbindungen eher aus Bequemlichkeit entstanden (z.B. für Löschungen = Cascade.ALL + orphanRemoval oder für bestimmte Prüfungen) - sinnvoll sind sie lediglich in einer Richtung.
Darüber hinaus "verunstaltet" das häufig auch den Quellcode, weil ja auf beiden Verbindungsseiten gepflegt werden muss (Collection + Kind-Objekt). Nun kam der Gedanke auf, dass alle @OneTo... durch ein Repository ersetzt werden könnten, weil die Collections/Sets/Bags/Lists unter Umständen groß werden können und dann in der Regel weitere "Suchkriterien" mit einfließen - zum Beispiel eine Einschränkung auf einen Zeitraum, um aus der 1000er-Collection nur noch 20 rauszuziehen.
Wie geht Ihr in diesem Fall vor? Convenience mit JPA oder eine Repository-Lösung?
seit einiger Zeit beschäftige ich mich mit einem kleinen Glaubenskrieg im Kopf, den ich nicht so ganz los werde. Bei der Modellierung eines komplexen Datenmodells habe ich hauptsächlich bidirektionale Verbindungen verwendet. Allerdings sind einige dieser Verbindungen eher aus Bequemlichkeit entstanden (z.B. für Löschungen = Cascade.ALL + orphanRemoval oder für bestimmte Prüfungen) - sinnvoll sind sie lediglich in einer Richtung.
Darüber hinaus "verunstaltet" das häufig auch den Quellcode, weil ja auf beiden Verbindungsseiten gepflegt werden muss (Collection + Kind-Objekt). Nun kam der Gedanke auf, dass alle @OneTo... durch ein Repository ersetzt werden könnten, weil die Collections/Sets/Bags/Lists unter Umständen groß werden können und dann in der Regel weitere "Suchkriterien" mit einfließen - zum Beispiel eine Einschränkung auf einen Zeitraum, um aus der 1000er-Collection nur noch 20 rauszuziehen.
Wie geht Ihr in diesem Fall vor? Convenience mit JPA oder eine Repository-Lösung?