Tôi chỉ tự hỏi tại sao sự kết hợp của Spring và Hibernate lại trở nên phổ biến, khi nào nó có thể để Hibernate ra và sử dụng Spring ORM?Spring ORM hoặc Hibernate
Trả lời
Mùa xuân phổ biến bởi vì nó sẽ xử lý mã được cắt và dán 'bản mẫu' mà bạn có với bất kỳ khung ORM nào. Hãy suy nghĩ try ... finally
khối, xử lý đối tượng phiên (Hibernate hoặc cách khác) và commit/rollback
(giao dịch).
Quản lý giao dịch cũng là sức mạnh của Spring. Bạn có thể xác định giao dịch bằng cách sử dụng chú thích hoặc trong tệp cấu hình Spring xml. Trong tệp cấu hình, lợi ích là bạn có thể sử dụng ký tự đại diện để chỉ định, ví dụ, tất cả các phương thức tìm trong một số gói phải hỗ trợ giao dịch (PROPAGATION_SUPPORTS) nhưng tất cả các phương thức chèn, cập nhật, xóa phải yêu cầu giao dịch (PROPAGATION_REQUIRED).
Vì vậy, tôi sẽ luôn sử dụng Spring, bất kể khung ORM. Nếu bạn có các yêu cầu đơn giản hoặc không có nhiều mã JDBC, các mẫu JDBC của Spring có thể đủ cho bạn. Và, Spring giúp bạn dễ dàng nâng cấp lên Hibernate khi cần.
Mùa xuân không có ORM. Bạn có thể sử dụng Hibernate, TopLink, iBatis hoặc JDO.
Bạn được tự do sử dụng Spring JDBC, nhưng bạn phải tự viết tất cả các bản đồ.
Bạn nên để ORM ra khỏi vòng lặp nếu bạn không thích SQL động hoặc độ phức tạp của giải pháp ORM. Bạn cũng có thể loại bỏ sự phụ thuộc bằng cách phân loại sự kiên trì của riêng bạn.
Các câu trả lời khác thực sự tốt. Nhưng để trả lời 'tại sao là Spring/Hibernate' rất phổ biến - IMHO của nó bởi vì họ là tốt nhất của công nghệ giống cho phép bạn đi nhanh hơn. Mùa xuân có nhiều hơn là chỉ tiêm phụ thuộc và giao dịch. Các giải pháp cung cấp cho JMS, lên lịch và những thứ khác. Thêm vào đó, họ đã chiến đấu thử nghiệm và được viết tốt. Chúng cho phép bạn tập trung vào nhu cầu kinh doanh của mình và làm cho một số nội dung khó khăn biến mất.
Tất cả điều này không có nghĩa là bạn không cần nhà phát triển giỏi để triển khai giải pháp tốt.
- 1. Spring + Hibernate session lifecycle
- 2. Spring vs Hibernate
- 3. Can'tAcquireLockException (Spring, Hibernate, Mysql)
- 4. Spring + Hibernate + JPA
- 5. Batch Insertions với Hibernate & Spring
- 6. Spring + Hibernate: LocalSessionFactoryBean - NoSuchMethodError: org.hibernate.cfg.annotations.reflection.XMLContext
- 7. Hibernate SessionFactory vs Spring LocalSessionFactoryBean
- 8. Spring + Hibernate Lazy Load Error
- 9. Hibernate, Spring và SLF4J Binding
- 10. Hibernate 4 Multi-Tenancy và Spring 3 Hibernate
- 11. NoClassDefFoundError với Spring maven hibernate org/hibernate/ejb/HibernatePersistence
- 12. Vai trò của Spring trong Struts + Spring + Hibernate là gì?
- 13. Hibernate tạo ra m + 1 truy vấn trong nhiều-một-
- 14. Plugin Eclipse cho phát triển Spring/Hibernate?
- 15. Java Frameworks War: Spring và Hibernate
- 16. Hibernate Validator, tùy chỉnh ResourceBundleLocator và Spring
- 17. Mối quan hệ giữa Spring, Hibernate, JDBC
- 18. Chèn số lượng lớn với Spring/Hibernate
- 19. Cách cấu hình Spring/Hibernate với MySQL Read-Replica
- 20. Hibernate hoặc JPA hoặc JDBC hoặc?
- 21. Bảo mật Spring/JSF/Hibernate Confidental Session Hijacking trên Tomcat?
- 22. Spring MVC hoặc Wicket?
- 23. RegEx để phù hợp với định dạng M/YYYY, MM/YYYY, M/YY hoặc MM/YY
- 24. Hibernate + Spring MVC: cấu hình ánh xạ đối tượng
- 25. Phương pháp DAO & CRUD đơn lẻ (JPA/Hibernate + Spring)
- 26. dự án noob để tìm hiểu Spring/Hibernate
- 27. Quản lý giao dịch Hibernate tự động với Spring?
- 28. Đặt chế độ xả của phiên Hibernate trong Spring
- 29. Giao dịch lồng nhau sử dụng Spring và Hibernate
- 30. Lớp DAO và Dịch vụ (JPA/Hibernate + Spring)
iBatis phổ biến hơn trong hiện tại, do sự nhất quán của nó với SQL. – ZhaoGang