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
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.
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.
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.
- 1. DAO, Spring, Hibernate, Jboss
- 2. Spring + Hibernate + JPA
- 3. Spring + Hibernate Dynamic Mapping
- 4. Spring/Hibernate testcase erreur
- 5. Configuration Spring and Hibernate
- 6. Spring + Hibernate JPA Question
- 7. Spring & Hibernate Evénements EJB
- 8. Hibernate/Spring: Collections persistantes
- 9. Hibernate Spring Transactions
- 10. Spring 2 Annotation Hibernate
- 11. Spring Hibernate SQL Query
- 12. Intégration Spring Hibernate
- 13. Début avec Spring Hibernate
- 14. Hibernate HQL m: n rejoindre problème
- 15. Spring + EntityManagerFactory + Hibernate Listeners + Injection
- 16. Question sur hibernate-spring-dao
- 17. Spring, plusieurs Hibernate Sessionfactories configuration
- 18. SmartGWT, Spring, Hibernate et Gilead
- 19. Problème de mappage Spring-Hibernate
- 20. Spring 2.5 Hibernate 3.5 NamedQuery
- 21. Problème J2EE Struts, Spring et Hibernate Framework
- 22. 1: relation M dans les opérations Hibernate et cascade
- 23. Java screencasts pour Spring et Hibernate
- 24. Rôles/Privilèges dans une application Spring/Hibernate
- 25. Gestion automatique des transactions Hibernate avec Spring?
- 26. Spring, Hibernate et Ehcache - Mauvaises entités
- 27. objets Stratégie Gestion avec Hibernate et Spring
- 28. Comment utiliser ThreadLocal dans Hibernate par Spring
- 29. Besoin d'aide avec Spring/Hibernate Lazy-loading
- 30. Hibernate, Spring & HSQL: Table non trouvée Exception
iBatis est plus populaire de nos jours, en raison de sa consistance avec SQL. – ZhaoGang