Recommendations to others considering Hibernate:
Hibernate generates dynamic queries, so if your database schema has complex relations, think twice before using HQL. Although Hibernate provides simple interaction to populate data from a table to your Java class, if you have many tables and entities in the database, the ORM engine may create very complex queries that will slow down the database and application. If you are using the Hibernate ORM, I recommend that you simplify the table structure. It could be more complex, and in some cases, it's impossible to fetch related data in one query. At this stage, I prefer to use native queries or stored procedures to mitigate the performance issue. One very important point: Hibernate needs expertise to implement it properly; otherwise, you will never achieve good performance with it. Review collected by and hosted on G2.com.
What problems is Hibernate solving and how is that benefiting you?
Independent from database schema. Low risk of data loss. Object-oriented interface-based mapping on Java classes. Review collected by and hosted on G2.com.