Hallo,
ich hätte eine Frage zu den Factories und den Repositories, Factories sind ja zuständig für die Erzuegung von aufwendigen Objekten, Repositories sind für die Speicherung von Objekten z.B. in die DB und zum holden von Objekten/Daten aus der DB zuständig.
Mein Problem ist nun folgendes, ich habe eine 1:n Beziehung zwischen einem Participant und einem, Club -> ein Club kann zu mehreren Participants gehören aber ein Participant kann nur einem Club zugehörig sein.
Ich möchte jetzt das ganze in eine Factory aufteilen und in ein Repository, die Factory sollte mir den Participant und den Club erstellen, und die Repository sollte dann den Participant und den Club in der DB speichern.
Das Problem ist jetzt, dass ich in der Factory schon saveClub aufrufen muss, damit ich den Club zu einem Participant hinzufügen kann, ansonsten bekomme ich die Fehlermeldung ganz unten.
Meine Frage wäre jetzt, wie kann ich diese Trennung zwischen Factory und Repository sinnvoll machen. Gibt es eine Möglichkeit, dass ich mir das saveClub in der Factory erspare und das erst im Repository mache?
Besten Dank,
lg
Fehlermeldung
ich hätte eine Frage zu den Factories und den Repositories, Factories sind ja zuständig für die Erzuegung von aufwendigen Objekten, Repositories sind für die Speicherung von Objekten z.B. in die DB und zum holden von Objekten/Daten aus der DB zuständig.
Mein Problem ist nun folgendes, ich habe eine 1:n Beziehung zwischen einem Participant und einem, Club -> ein Club kann zu mehreren Participants gehören aber ein Participant kann nur einem Club zugehörig sein.
Ich möchte jetzt das ganze in eine Factory aufteilen und in ein Repository, die Factory sollte mir den Participant und den Club erstellen, und die Repository sollte dann den Participant und den Club in der DB speichern.
Das Problem ist jetzt, dass ich in der Factory schon saveClub aufrufen muss, damit ich den Club zu einem Participant hinzufügen kann, ansonsten bekomme ich die Fehlermeldung ganz unten.
Meine Frage wäre jetzt, wie kann ich diese Trennung zwischen Factory und Repository sinnvoll machen. Gibt es eine Möglichkeit, dass ich mir das saveClub in der Factory erspare und das erst im Repository mache?
Besten Dank,
lg
Java:
/* Participant erstellen */
final Participant participant = new Participant();
participant.setFirstname("Hans");
participant.setSurname("Huber");
/* Club erstellen */
final Club club = new Club();
club.setClubname("Berlin");
dao.saveClub(club); // hier muss ich den Club zuerst speichern, damit ich diesen dann dem
//Participant hinzufügen kann, wenn ich saveClub(club) nicht mache bekomme ich die Fehlermeldung unten
participant.setClub(club);
Fehlermeldung
Code:
object references an unsaved transient instance - save the transient instance before flushing:
at.eventtiming.dao.hibernate.domain.Club; nested exception is
org.hibernate.TransientObjectException: object references an unsaved transient instance - save the
transient instance before flushing: at.eventtiming.dao.hibernate.domain.Club