ORM du printemps ou Hibernate
Je me demandais simplement pourquoi la combinaison de Spring et Hibernate est si populaire, alors qu'il serait possible de laisser Hibernate et de l'utilisation juste de Printemps ORM?
source d'informationauteur John Manak
Vous devez vous connecter pour publier un commentaire.
Printemps est populaire parce qu'il prend soin de le "passe-partout" couper et coller le code que vous avez avec tout ORM. Pensez
try ... finally
blocs, traitant de l'objet session (Hibernate ou autre) etcommit /rollback
(transactions).La gestion des transactions est aussi le Printemps de la force. Vous pouvez définir des transactions à l'aide d'annotations ou dans le Ressort fichier de configuration xml. Dans le fichier de configuration, l'avantage est que vous pouvez utiliser des caractères génériques pour spécifier que, par exemple, toutes les méthodes de recherche dans un ensemble de paquets doivent prendre en charge les transactions (PROPAGATION_SUPPORTS), mais tous les insert, update, delete méthodes devraient exiger des opérations (PROPAGATION_REQUIRED).
Donc, je serais toujours utiliser le Printemps, indépendamment de l'ORM. Si vous avez des exigences simples ou pas beaucoup de code JDBC, Spring JDBC de modèles peut être suffisant pour vous. Et, le Printemps facilite la mise à niveau mise en veille prolongée en cas de besoin.
Printemps n'a pas un ORM qui lui est propre. Vous pouvez utiliser Hibernate, TopLink, iBatis, ou JDO.
Vous êtes libre de les utiliser Spring JDBC, mais vous devez écrire tous les mappeurs sur votre propre.
Il est préférable de quitter l'ORM de sortir de la boucle si vous n'aimez pas le SQL dynamique ou de la complexité d'une solution ORM. Vous pouvez également éliminer une dépendance par tri persistance sur votre propre.
Les autres réponses sont vraiment bons. Mais pour répondre à la "pourquoi est-Spring/Hibernate' tellement populaire - à mon humble avis c'est parce qu'ils sont le meilleur de la race des technologies qui vous permettent d'aller plus vite. Le printemps n'est beaucoup plus que de l'injection de dépendance et de transactions. L'offrent des solutions pour la JMS, de planification, et d'autres choses. De Plus, ils sont de bataille testés et bien écrit. Ils vous permettent de vous concentrer sur vos besoins d'affaires, et de faire partie de la partie la plus dure de s'en aller.
Tout cela n'est pas de dire que vous n'avez pas besoin de bons développeurs pour mettre en place une bonne solution.