Taking the Hibernate debate beyond JPA and data persistence

There has been a renewed interest in Hibernate ever since discussing how the core goes beyond JPA and data persistence, providing many extra features beyond the specification.

With an editor who has written a best selling book named Hibernate Made Easy, one would think that TheServerSide would be littered with articles on JDBC comparisons, Java Persistence, Hibernate vs JPA, JDBC vs ODBC and interesting JDBC facts pertaining to object relational mapping. But the reality is that discussions on cloud computing, big data, mobile development and application lifecycle management (ALM) have eclipsed what would have otherwise been time spent writing about JPA or ORM. However, a quick chat with Emmanuel Bernard at the 2013 Red Hat Summit in Boston sparked renewed interest in the latest in object relational mapping technology, both with the writers and the readers at TSS.

From a team point of view, we wish we had only one API. We are really trying to push into the standard as much as we can.

Emmanuel Bernard, 
Data Architect. 

The Hibernate versus JPA debate

The first topic TheServerSide had Bernard address was whether developers should be using the standard JPA EntityManager or the Hibernate Session when accessing entities in their application, a subject that was addressed in this feature article, which also includes an audio clip of Bernard stating his case:

The JPA 2.0 EntityManager vs. the Hibernate Session: Which one to use?

The article was promoted on the landing page of TheServerSide, which sparked a good debate between readers, including some pertinent insights from Reza Rahman, Oracle's Java EE and GlassFish evangelist:

The Hibernate Debate

Going beyond JPA with the Hibernate Core

Of course, the debate between using JDBC, the Hibernate Session and the JPA EntityManager hinges on the fact that the Hibernate Session offers many features that go above and beyond what is available from the JPA specification, even as we currently look at the very mature JPA 2.1 release. In the following article, we explore why a developer might be compelled to use the Hibernate Session instead of the EntityManager, with features such as envers, multitenancy and Hibernate search capabilities providing the most compelling argument against the EntityManager:

Hibernate still leads the way with search, envers and multitenancy support

Bridging the gap between Hibernate and JPA

Of course, as the debate between the JPA spec and the Hibernate implementation raged on, TheServerSide got a short e-mail from a regular contributor mentioning the fact that it doesn't have to be an either-or decision between Hibernate and JPA, and that with JPA 2.1, it is easier than ever to obtain the underlying Hibernate implementation when the need arises. This then led to Lukas Stewart's article on doing just that:

How to get the Hibernate Session from the JPA 2.0 EntityManager

This is by no means the last you will be hearing from TheServerSide about Hibernate and JPA. More articles are to come on how to effectively use Hibernate Search, and how ORM technologies like Hibernate are adapting to deal with big data technologies, all of which will be forthcoming as we stop thinking about the Red Hat Summit and start setting our focuses on JavaOne and OracleWorld.


How have you leveraged the Hibernate API to improve your applications? Let us know.

Dig Deeper on Java cloud platforms

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.