Hibernate memiliki kurva belajar yang curam tetapi juga memiliki keuntungan sebagai berikut:
- Sisipkan/Pembaruan lebih mudah karena "pemeriksaan kotor". Setelah Anda memiliki layanan di tempat, Anda dapat dengan mudah menambahkan bidang baru tanpa mengubah baris di layanan Anda. Anda hanya perlu menambahkan kolom baru dan mengisinya dan Hibernate akan menangani bagian persistensi.
- Hibernasi dapat mengatasi "pembaruan yang hilang" masalah karena kontrol konkurensi penguncian optimis.
- Pengujian integrasi lebih mudah, karena Anda dapat membuat skema secara otomatis untuk database dalam memori Anda (HSQLDB, H2, Derby)
- Ini memiliki dukungan plug-in caching (melalui penyedia caching tingkat kedua pihak ketiga), beberapa penyedia memungkinkan Anda memiliki cache "transaksional" dan "cluster".
- Ini memiliki dukungan AUDIT (Envers) bawaan
Jadi ini bukan solusi persistensi 'default', karena ada jutaan aplikasi web yang ditulis dalam PHP tanpa kerangka kerja ORM yang berhasil dijalankan dalam produksi.
Saya pikir Hibernate memiliki lebih banyak akal untuk aplikasi perusahaan di mana caching, audit, keandalan konkurensi adalah persyaratan non-fungsional wajib.