Moin moin,
habe die Suche bemüht aber keine Antwort auf meine doch relativ spezielle Frage gefunden.
Ich „spiele“ ein wenig mit Java und arbeite mich autodidaktisch ein. Ich nutze für ein kleines Testprojekt Java mit Hibernate (ohne Spring). Bei meinem ersten Projekt habe ich dass alles ziemlich „frei Schnauze“ gemacht, ohne mich um Konventionen zu kümmern.
Jetzt wollte ich aber etwas mehr der reinen Lehre folgen und habe z.B. für jede primitive Klasse ein DAO plus entsprechendes Interface eingerichtet. In einem Beispiel im Netz habe ich gesehen, dass es dann für jede DAO Klasse eine separate Manager Klasse gibt (Service Layer).
Meine Frage jetzt: Gesetzt dem Fall, dass die Nutzung von je einem Service Objekt (bzw. Klasse) richtig ist, in welcher Klasse behandle ich dann z.B. die Erstellung eines neuen Objektes innerhalb einer Komposition?
Zum Beispiel würde ich bei einer 1:n Beziehung von Klasse Mutter zu Klasse Kind ungern den einen Teil der Komposition in einer Transaktion in der Klasse Mutter speichern (einfügen des Objektes Kind in eine Liste) und das andere Objekt der Klasse Kind in einer anderen Transaktion selbst speichern.
Gefühlsmäßig hätte ich die Aktion in der Service Klasse für Mutter zusammengefügt, sprich das Update der Liste für Mutter speichern und das Objekt Kind speichern.
Ist das so richtig oder macht man das komplett anders? Z.B. nur eine einzige Service Klasse, die alle Aktionen für das ganze Projekt erledigt?
Vielen Dank für eure Hilfe
Guelcki