2011-01-13 3 views
2

Je suis un débutant avec GWT/GXT et je suis à la recherche de la meilleure façon de persistance pour mes futures applications. Je considérais de nombreuses variantes de le faire alors j'ai décidé de dessiner un graphique ici:

alt text
donc mes conclusions sont les suivantes:
1) JPA/Hibernate est le meilleur framework de persistance, mais il déteste la coopération avec GWT et spécialement avec 3) MyBatis est vraiment un excellent outil pour obtenir des données de db, c'est rapide, efficace et a de grandes possibilités pas vu dans Hibernate, mais écrire des mappeurs est la pire chose qui soit .
4) Dozzer est un tueur de ressources serveur et utilisateur. Vous devez écrire beaucoup de code plaque de chaudière et il suffit de copier les données (parfois beaucoup). Ne l'utilisez pas à tout prix !!! Imaginez un serveur qui exécute 100 sessions et chaque demande de bean doit utiliser Dozzer.
5) DTO - situation similaire. C'est la norme, et il s'agit simplement de transformer un type de données en un autre. Il n'y a pas de traitement de données sérieux. Utilisez judicieusement les ressources du serveur.
6) Gilead copie les états des haricots hibernés. Il pourrait être dangereux (juste entendu de quelques commentaires), difficile à configurer et à intégrer avec d'autres cadres de l'IoC (Guice dans mon cas).
7) Ne pas transformer POJO en BeanModel côté client. JavaScript est vraiment lent et il ralentit tout le client.
8) Meilleure pratique pour moi et peut-être pour vous: trouvez le chemin le plus court sur le graphique de DB vers le bean BaseModel du côté client.
9) MyBatis permet de mapper les résultats de la requête aux beans BaseModel (testés) de sorte qu'ils n'ont pas besoin d'être transformés plusieurs fois et que vous n'avez pas à vous soucier du tout. La seule chose est d'écrire des mappings appropriés.

Un peu différent approche persistante GWT/GXT

Ceci est mon opinion personnelle mais j'aimerais connaître votre avis. Veuillez m'expliquer si je me trompe et donner des arguments contraires. J'aimerais vraiment utiliser Hibernate ou peut-être que vous connaissez un autre ORM ou un framework similaire à MyBatis qui pourrait me donner un mapping direct vers le BeanModel. Pour mon but je vais développer l'application qui génèrerait pour moi des classes de domaine dans le modèle de BaseModel avec des mappeurs, des validateurs, des éditeurs, des panneaux de recherche avancés, des DAO, des services et des classes de GWT-RPC. La meilleure solution serait de développer son propre échafaudage: D. Qu'est-ce que tu en penses?

Répondre

1

de développer votre propre échafaudage .. c'est ce que j'ai fait. Voici mon flux DB-> JPA -> Entités Beans -> Ma propre classe de convertisseur -> BaseModel

Dans mon application, le BaseModel sert de DTO. Dans le service GWT RPC, je convertis le BaseModel en Entity Bean et Entity Bean en BaseModel selon les besoins.

-Zawoad

0

Jetez un coup d'œil à GWT RequestFactory. Il est une nouvelle fonctionnalité de 2,1

http://code.google.com/webtoolkit/doc/latest/DevGuideRequestFactory.html

-je utiliser personnellement et Gilead ne l'ai pas eu de problèmes avec elle, aucune configuration importante nécessaire. Je ne fais pas beaucoup de chargement paresseux des collections. Je viens de concevoir mes cas d'utilisation avec cette pensée en tête.

0

Quelqu'un at-il essayé d'utiliser des modèles dynamiques de mise en veille prolongée, il semble que vous devriez être en mesure de cartographier directement à la GXT BaseModel. Voir: Hibernate Dymanic Models Section

0

J'utilisé mybatis avec GWT et j'ai été satisfait, parce que mybatis utilise seulement POJO, de sorte que les objets sont transférés easyly entre le client et le serveur (pas plus OAC, DTO). Vous pouvez utiliser l'annotation de MyBatis si vous n'aimez pas écrire des mappeurs XML, j'aime son simple. Donc, ma recommandation est MyBatis

+0

Uhmm, c'est juste mon avis pour quelqu'un qui a une question similaire –