Es scheint mir, dass die Einführung eines ORM-Tools Ihre Architektur sauberer machen soll, aber aus Effizienzgründen habe ich festgestellt, dass ich es überspringe und gelegentlich über ein JDBC-Resultset iteriere. Dies führt zu einem unkoordinierten Gewirr von Artefakten anstelle einer saubereren Architektur.Wann können/sollten Sie mit dem ORM-Ansatz ganz in Schwung kommen?
Ist das, weil ich das Werkzeug in einem ungültigen Kontext anwenden, oder ist es tiefer als das?
Wann können/sollten Sie mit dem ORM-Ansatz ganz und gar gehen?
Jeder Einblick würde sehr geschätzt werden.
Ein wenig von Hintergrund:
In meiner Umgebung, die ich über 50 Client-Computer und 1 einigermaßen leistungsfähigen SQL-Server habe.
Ich habe eine Desktop-Anwendung, in dem alle 50 Kunden jederzeit die Daten zugreifen.
Das Projektdatenmodell aus verschiedenen Gründen, einschließlich Klarheit, Effizienz, usw. durch eine Reihe von Reorganisationen gegangen
My Data Model Geschichte
- JDBC-Aufrufe direkt
- DAO + POJO ohne Beziehungen zwischen Pojos (im Grunde die JDBC Wrapping).
- Added Beziehungen zwischen POJOs Umsetzung Lazy Loading-, sondern nur versteckt die Inter-DAO ruft
- auf die Hibernate-Zug aufgesprungen, nachdem er, wie „einfach“ es den Datenzugriff gemacht (es unter POJO Beziehungen trivial gemacht), und weil es verringern könnte die Anzahl der Rundreisen in die Datenbank bei der Arbeit mit vielen verwandten Entitäten.
- Da es eine Desktop-Anwendung war, Sessions langfristig geöffnet zu lassen, war ein Albtraum, so dass es eine ganze Reihe von Problemen verursachte
- Zurück zu einem partiellen DAO/Hibernate-Ansatz, der mir direkte JDBC-Aufrufe hinter dem DAO ermöglicht Vorhang und gleichzeitig Hibernate.