2016-05-21 3 views
0

Ich schreibe DAO für zB Ich habe Mitarbeiter und Adresse entity Wo ein Mitarbeiter mehrere Adresse haben kann.Wie schreibe ich DAO für JPA mit One Entity mit One to many Beziehung

Jetzt haben meine EmployeeDao CRUD-Operation, ich habe eine getEmployeeById -Methode, die String als Eingabe nimmt und EmployeeDto (Anmerkung Dto) zurückgibt, jetzt in einigen Fällen brauche ich nur EmployeeDto, und in einigen brauche ich EmployeeDto mit AddressDto.

Meine Frage ist, sollte ich AddreddEntity AddressDto Umwandlung in EmployeeDao getEmployeeById Methode schreiben, ist dies der richtige Weg? Gibt es einen besseren Ansatz, um ein solches Problem in der realen Welt zu lösen?

Ich bin mit JPA

Antwort

0

ich sollte es Dienstschicht sein, die Ihre JPA-Entität Sie verarbeiten und und stellen die Dto sagen würde.

Ein DAO sollte Zugriff auf eine einzelne verwandte Datenquelle bieten und seine Methoden sollten die Datenbank etwas genau wiedergeben.

Ein Service kann eine Schnittstelle auf höherer Ebene bieten, um Ihre Geschäftsobjekte zu verarbeiten, er kann mit verschiedenen Datenbanken (und verschiedenen DAOs) interagieren. Es kann eine bestimmte Geschäftslogik haben, die mehrere Datenobjekte in ein einziges robustes Geschäftsobjekt konvertiert.

+0

Im Falle von JPA dann keine Verwendung von DAO? – Arvind

+0

Im Falle von JPA sollte auch DAO sein. Aber es wird nur die Datenbank-Interaktion Teil, Rest der Verarbeitung kann auf Service-Layer basierend auf Ihrer Anforderung erfolgen. Denk darüber nach. –