Hallo,
ich habe mir Anhand der Anleitung und einiger anderer Quellen einen DAO zusammen gebaut....funktioniert auch wunderbar und ist auch sehr kurz und schön der Code....
Wenn ich ja nun eine Methode aus dem DAO aufrufe z.B. save(T entity), dann habe ich es ja mit einem Datenbank Objekt zu tun (habe ich bei mir TO's genannt)....
Diese TO's möchte ich aber nicht an die Anwendungsschicht weiterreichen, da zum Teil Felder enthalten sind, die ich in der Anwendungsschicht nicht brauche (Business Objects) bzw. nicht haben will und nicht haben darf....
Die Frage ist jetzt, wo findet die Umwandlung der TO's in BO's statt?
Im DAO? Das heißt liefert ein DAO Aufruf direkt die entsprechenden BO's (anstatt der TO's) zurück?
Fände ich nicht so gut, da ich dann meiner Meinung nach in der DAO Schicht Dinge mache, die da nicht hin gehören...abgesehen davon würde ich mir den Zugang zu den TO's versperren...
Ich tendiere derzeit dazu, dass ich eine zusätzliche "Schicht" zwischen Anwendungschicht und DAO lege und dort die Umwandlung vornehme....
Oder wäre ein "Kopier Konstruktor" eine sinnvolle Variante:
oder
Habt' Ihr dazu Verbesserungsvorschläge oder gibt es irgendwo Links dazu ? Ich habe bisher immer nur zum Thema DAO eine ganze Menge gefunden...
Vielen Dank im Voraus.
MfG
Karl Heinz Marbaise
ich habe mir Anhand der Anleitung und einiger anderer Quellen einen DAO zusammen gebaut....funktioniert auch wunderbar und ist auch sehr kurz und schön der Code....
Wenn ich ja nun eine Methode aus dem DAO aufrufe z.B. save(T entity), dann habe ich es ja mit einem Datenbank Objekt zu tun (habe ich bei mir TO's genannt)....
Diese TO's möchte ich aber nicht an die Anwendungsschicht weiterreichen, da zum Teil Felder enthalten sind, die ich in der Anwendungsschicht nicht brauche (Business Objects) bzw. nicht haben will und nicht haben darf....
Die Frage ist jetzt, wo findet die Umwandlung der TO's in BO's statt?
Im DAO? Das heißt liefert ein DAO Aufruf direkt die entsprechenden BO's (anstatt der TO's) zurück?
Code:
XXDAO<XYZBO> dao = DAOFactory.getXYZ();
List<XYZBO> result = dao.get();
Ich tendiere derzeit dazu, dass ich eine zusätzliche "Schicht" zwischen Anwendungschicht und DAO lege und dort die Umwandlung vornehme....
Oder wäre ein "Kopier Konstruktor" eine sinnvolle Variante:
Code:
XYZBO bo = new XYZBO(xyzto);
Code:
XYZTO to = new XYZTO(xyzbo);
Habt' Ihr dazu Verbesserungsvorschläge oder gibt es irgendwo Links dazu ? Ich habe bisher immer nur zum Thema DAO eine ganze Menge gefunden...
Vielen Dank im Voraus.
MfG
Karl Heinz Marbaise