Ich bin ein Neuling bei GWT/GXT und ich suche nach der besten Persistenzmethode für meine zukünftigen Anwendungen. Ich habe viele Varianten in Betracht gezogen, also habe ich beschlossen, hier ein Diagramm zu zeichnen:
Meine Schlussfolgerungen lauten also:
1) JPA/Hibernate ist das beste Persistenz-Framework, aber es hasst die Zusammenarbeit mit GWT und insbesondere mit GXT
2) JDBC war nur ein Beispiel für einen Scherz :)
3) MyBatis ist wirklich großes Werkzeug für die Gewinnung von Daten aus db, seine schnell, effizient und hat große Möglichkeiten nicht in Hibernate gesehen, aber das Schreiben von Mappern ist die schlimmste Sache überhaupt.
4) Dozzer ist ein Server- und Benutzerressourcenkiller. Man muss eine Menge Code schreiben und es kopiert nur Daten (manchmal eine Menge). Verwenden Sie ihn auf keinen Fall!!! Stellen Sie sich einen Server vor, auf dem 100 Sitzungen laufen und jede Bean-Anfrage muss Dozzer verwenden.
5) DTO - ähnliche Situation. Es handelt sich um eine Standardvorlage, die lediglich einen Datentyp in einen anderen umwandelt. Es findet keine ernsthafte Datenverarbeitung statt. Verwenden Sie die Server-Ressourcen klug.
6) Gilead kopiert den Zustand der Bohnen im Ruhezustand. Es könnte gefährlich sein (nur aus wenigen Kommentaren gehört), schwer zu konfigurieren und mit anderen IoC-Frameworks (Guice in meinem Fall) zu integrieren.
7) Verwandeln Sie POJO nicht in BeanModel auf der Client-Seite. JavaScript ist sehr langsam und verlangsamt den gesamten Client.
8) Best Practice für mich und vielleicht auch für Sie: Finden Sie den kürzesten Weg im Graphen von der DB zur BaseModel-Bean auf der Client-Seite.
9) MyBatis erlaubt es, Abfrageergebnisse auf die BaseModel-Beans abzubilden (getestet), so dass sie nicht viele Male transformiert werden müssen und man sich nicht darum kümmern muss. Das Einzige, was man tun muss, ist, die richtigen Mappings zu schreiben.
Dies ist meine persönliche Meinung, aber ich würde gerne Ihre Meinung erfahren. Bitte erklären Sie mir, wenn ich falsch liege und nennen Sie Argumente. Ich würde gerne Hibernate verwenden oder vielleicht kennen Sie ein anderes ORM oder ein ähnliches Framework wie MyBatis, das mir ein direktes Mapping auf das BeanModel ermöglichen würde.
Für meinen Zweck werde ich eine Anwendung entwickeln, die für mich Domänenklassen im BaseModel-Stil mit Mappern, Validatoren, Editoren, erweiterten Suchfeldern, DAOs, Diensten und GWT-RPC-Klassen generieren würde. Die beste Lösung wäre, ein eigenes Gerüst zu entwickeln :D. Was denken Sie darüber?