2010-09-29 7 views
10

Je me demande juste pourquoi la combinaison de Spring et Hibernate est si populaire, quand il serait possible de quitter Hibernate et d'utiliser simplement Spring ORM?Spring ORM ou Hibernate

Répondre

10

Le printemps est populaire parce qu'il prend soin du code «pâte à polir» de couper et coller que vous avez avec n'importe quel cadre ORM. Pensez try ... finally blocs, traitant de l'objet de session (Hibernate ou autre) et commit/rollback (transactions).

La gestion des transactions est également la force de Spring. Vous pouvez définir des transactions à l'aide d'annotations ou dans le fichier de configuration Spring xml. Dans le fichier de configuration, vous pouvez utiliser des caractères génériques pour spécifier que toutes les méthodes de recherche d'un ensemble de packages doivent prendre en charge les transactions (PROPAGATION_SUPPORTS) mais que toutes les méthodes insert, update, delete nécessitent des transactions (PROPAGATION_REQUIRED). Donc, j'utiliserais toujours Spring, quel que soit le framework ORM. Si vous avez des exigences simples ou pas beaucoup de code JDBC, les modèles JDBC de Spring peuvent vous suffire. De plus, Spring facilite la mise à niveau vers Hibernate en cas de besoin.

28

Le ressort n'a pas d'ORM propre. Vous pouvez utiliser Hibernate, TopLink, iBatis ou JDO.

Vous êtes libre d'utiliser Spring JDBC, mais vous devez écrire tous les mappeurs par vous-même.

Il est conseillé de laisser l'ORM en dehors de la boucle si vous n'aimez pas le SQL dynamique ou la complexité d'une solution ORM. Vous pouvez également éliminer une dépendance en triant la persistance par vous-même.

4

Les autres réponses sont vraiment bonnes. Mais pour répondre à la question «pourquoi Spring/Hibernate» est si populaire - à mon humble avis parce que ce sont les meilleures technologies qui vous permettent d'aller plus vite. Le printemps fait beaucoup plus que simplement l'injection de dépendance et les transactions. Le fournir des solutions pour JMS, la planification, et d'autres choses. De plus, ils sont testés au combat et bien écrits. Ils vous permettent de vous concentrer sur les besoins de votre entreprise et de faire disparaître certains éléments difficiles.

Tout cela ne veut pas dire que vous n'avez pas besoin de bons développeurs pour implémenter une bonne solution.

+0

iBatis est plus populaire de nos jours, en raison de sa consistance avec SQL. – ZhaoGang