Hibernate má strmou křivku učení, ale má také následující výhody:
- Vkládání/aktualizace jsou snadnější díky „špinavé kontrole“. Jakmile budete mít službu zavedenou, můžete snadno přidávat nová pole, aniž byste museli ve službě měnit řádek. Stačí přidat nové sloupce a naplnit je a Hibernate se postará o perzistenci.
- Hibernace dokáže vyřešit "ztracenou aktualizaci" problém, protože je to optimistické zamykání kontroly souběžnosti.
- Testování integrace je jednodušší, protože schéma můžete generovat automaticky pro svou databázi v paměti (HSQLDB, H2, Derby)
- Má podporu modulu plug-in pro ukládání do mezipaměti (prostřednictvím poskytovatelů mezipaměti druhé úrovně od třetích stran), někteří poskytovatelé vám umožňují mít „transakční“ i „shlukované“ mezipaměti.
- Má vestavěnou podporu AUDIT (Envers)
Nejde tedy o „výchozí“ řešení persistence, protože existují miliony webových aplikací napsaných v PHP bez rámce ORM, které úspěšně běží v produkci.
Myslím, že Hibernate má mnohem větší smysl pro podnikové aplikace, kde jsou mezipaměť, auditování a spolehlivost souběžných povinných nefunkčních požadavků.