Hibernate có một đường cong học tập dốc nhưng nó cũng có những ưu điểm sau:
- Chèn / Cập nhật dễ dàng hơn do "kiểm tra bẩn". Khi bạn đã có dịch vụ tại chỗ, bạn có thể dễ dàng thêm các trường mới mà không cần thay đổi một dòng trong dịch vụ của mình. Bạn chỉ cần thêm các cột mới và điền các cột đó và Hibernate sẽ đảm nhận phần duy trì.
- Hibernate có thể giải quyết "bản cập nhật bị mất" vấn đề vì nó có tính năng kiểm soát đồng thời khóa lạc quan.
- Kiểm tra tích hợp dễ dàng hơn vì bạn có thể tạo giản đồ tự động cho cơ sở dữ liệu trong bộ nhớ của mình (HSQLDB, H2, Derby)
- Nó có hỗ trợ plugin bộ nhớ đệm (thông qua các nhà cung cấp bộ nhớ đệm cấp 2 của bên thứ ba), một số nhà cung cấp cho phép bạn có cả bộ nhớ đệm "giao dịch" và "phân cụm".
- Nó có hỗ trợ AUDIT tích hợp (Envers)
Vì vậy, nó không phải là giải pháp bền vững 'mặc định', vì có hàng triệu ứng dụng web được viết bằng PHP không có khuôn khổ ORM đang chạy thành công trong phiên bản sản xuất.
Tôi nghĩ Hibernate có nhiều ý nghĩa hơn đối với các ứng dụng doanh nghiệp nơi bộ nhớ đệm, kiểm toán, độ tin cậy đồng thời là các yêu cầu phi chức năng bắt buộc.