Ich habe ein Projekt, das Spring verwendet und ist in ein paar Dutzend DAOs und zugehörige DTOs aufgeteilt. Ich benutze JdbcTemplate, aber nicht viel mehr, da es genau die Ebene der Abstraktion ist, mit der ich zufrieden bin.Lazy Loading DTO Felder im Frühjahr
Ich führe gerade Lazy Loading auf meinen DTOs durch, indem ich einen ziemlich haarigen Code in ihre Getters lege.
Grund vorformulierten Logik ist: 1. Wenn das Feld nicht null Rückkehr seinen Wert und Ausgang ist 2. Kontakt entsprechenden DAO und holen relevant DTOs 3. Bewahren Sie sie bis zum nächsten Mal.
Es funktioniert gut, außer dass meine niedrigen DTOs sind mit einer ganzen Reihe von DAOs gekoppelt und sind nicht so POJOey.
Ein weiterer Code Geruch erscheint, wenn ich die Logik in der DAO platzieren, da es sowohl CRUD für seine DTOs und Lazy Loading behandelt, und wie ich es verstehe Objekte sollten eine einzige Verantwortung haben.
Ich hoffe, dass es einen relativ einfachen Spring-Ansatz gibt, mit dem ich ein Lazy Loader-Objekt zwischen den DAOs und den DTOs injizieren kann, um dies zu erreichen, aber jede andere Lösung würde für mich funktionieren.
Irgendwelche Ideen?
Ich mag diese Antwort (+1) es ist eine Schande, die Klarheit von person.getTelephoneNumbers() zu verlieren –