Ich frage mich nur, warum die Kombination von Spring und Hibernate so populär ist, wenn es möglich wäre, Hibernate zu verlassen und nur Spring ORM zu verwenden?Spring ORM oder Hibernate
Antwort
Spring ist beliebt, weil es sich um den Code zum Ausschneiden und Einfügen aus dem ORM-Framework kümmert. Think try ... finally
Blöcke, die sich mit dem Session-Objekt (Hibernate oder anders) und commit/rollback
(Transaktionen).
Transaktionsverwaltung ist auch die Stärke von Spring. Sie können Transaktionen mithilfe von Anmerkungen oder in der Spring-XML-Konfigurationsdatei definieren. In der Konfigurationsdatei besteht der Vorteil darin, dass Sie mit Platzhaltern angeben können, dass beispielsweise alle Suchmethoden in bestimmten Paketen Transaktionen unterstützen sollen (PROPAGATION_SUPPORTS), aber alle Methoden zum Einfügen, Aktualisieren und Löschen Transaktionen erfordern (PROPAGATION_REQUIRED).
Also würde ich immer Spring, unabhängig von der ORM-Framework verwenden. Wenn Sie einfache Anforderungen oder nicht so viel JDBC-Code haben, können die JDBC-Vorlagen von Spring für Sie ausreichen. Und mit Spring können Sie bei Bedarf problemlos auf den Ruhezustand aktualisieren.
Spring hat kein eigenes ORM. Sie können Hibernate, TopLink, iBatis oder JDO verwenden.
Sie können Spring JDBC verwenden, aber Sie müssen alle Mapper auf eigene Faust schreiben.
Es ist ratsam, ORM außerhalb der Schleife zu belassen, wenn Sie dynamisches SQL oder die Komplexität einer ORM-Lösung nicht mögen. Sie können auch eine Abhängigkeit eliminieren, indem Sie die Persistenz selbst aussortieren.
Die anderen Antworten sind wirklich gut. Aber um das "warum ist Frühling/Hibernate" so beliebt zu beantworten - IMHO ist es, weil sie beste Technologien sind, die es Ihnen ermöglichen, schneller zu gehen. Spring macht viel mehr als nur Dependency Injection und Transaktionen. Die bieten Lösungen für JMS, Terminplanung und andere Dinge. Außerdem sind sie kampferprobt und gut geschrieben. Sie ermöglichen es Ihnen, sich auf Ihre geschäftlichen Bedürfnisse zu konzentrieren und einige der harten Sachen verschwinden zu lassen.
All dies bedeutet nicht, dass Sie keine guten Entwickler benötigen, um eine gute Lösung zu implementieren.
- 1. Kann Selenium Hibernate oder Spring unterstützen?
- 2. Spring-Hibernate DAO Namenskonvention?
- 3. Spring + Hibernate - mehrere Datenbanken
- 4. Spring + Hibernate + JPA
- 5. Behandelt Spring Hibernate NonUniqueObjectException?
- 6. Spring + Hibernate Dynamic Mapping
- 7. DAO, Spring und Hibernate
- 8. Spring vs Hibernate
- 9. Spring + Hibernate Validierungsfehler
- 10. Spring Hibernate SQL Query
- 11. Spring + Hibernate = Unbekannte Entität
- 12. org.hibernate.LazyInitializationException (Spring/Hibernate)
- 13. Spring Hibernate Objekt löschen
- 14. Spring + Hibernate: Unbekannte Einheit
- 15. Spring Batch Hibernate CursorItemReader
- 16. Hibernate und Spring - Dao, Dienste
- 17. Automatisches Hibernate-Transaktionsmanagement mit Spring?
- 18. Hibernate, Spring und SLF4J Binding
- 19. Datum wird überschrieben (Spring/Hibernate)
- 20. Bulk-Einsätze mit Spring/Hibernate
- 21. Java SE + Spring Data + Hibernate
- 22. Hibernate SessionFactory-Bean ohne Spring
- 23. SmartGWT, Spring, Hibernate und Gilead
- 24. Benutzerdefinierter Hibernate Validator Spring Boot
- 25. Hibernate SessionFactory vs Spring LocalSessionFactoryBean
- 26. Spring 3.2.2 und Hibernate-Version
- 27. Hibernate Search mit Spring MVC
- 28. Ausführen einer Abfrage --- Hibernate + Spring
- 29. Spring 3.1 + Hibernate 4 - HibernateTemplate
- 30. Konfigurationsproblem mit Hibernate und Spring
iBatis ist heutzutage aufgrund seiner Konsistenz mit SQL beliebter. – ZhaoGang