JBoss awakens Hibernate with persistence API

16.10.2006
In the tedious world of middleware, the complexities of technologies can be difficult to grasp for the layman. But open source middleware vendor JBoss has put forth a straightforward description of what its new Hibernate 3.2 object/relational mapping software does: It makes its easier for developers take Java objects stored in memory, such as a customer object, and maintain them in a database.

Specifically, Hibernate saves developers from having to grasp the nuances of different databases. "It provides the ability for developers to take objects that are in memory in Java and persist them back into a relational database, into a data store of some sort," said Ram Venkataraman, director of product management at JBoss. Objects in this case are identified as POJOs (Plain Old Java Objects).

With Version 3.2, which is being released Monday, Hibernate is touting its certified support for the JPA (Java Persistence API) introduced in Java EE (Enterprise Edition) 5. This API is featured as a way to simplify development of Java EE applications that use data persistence. Hibernate now can be used as a portable Java Persistence provider for any Java EE 5 application server.

With Version 3.2, JBoss has simplified Hibernate packages to support popular development frameworks. Developers have a persistence offering to work with native Hibernate, Java Developer Kit 5.0 annotations, the Java Persistence API, or EJB (Enterprise JavaBeans) 3.0.

Hibernate will square off with products such as BEA Systems's Kodo solution for persistence, Venkataraman acknowledged. But he charged that Kodo relies on a specification, Java Data Objects, which did not catch fire with the marketplace.

"Kodo is based on a standard that did not take off," Venkataraman said. JPA is the more standard mechanism now, he added.

BEA fired back a sharp response. "BEA is glad to see JBoss has outdated information on Kodo. We have had JPA support in Kodo, as well as in its tools, BEA Workshop, since 2005," said Bill Roth, vice president of BEA Workshop at BEA. "Our superior tooling and support for standards give us a position that JBoss would envy, if they bothered to look at our products."

JPA, Venkataraman said, has replaced the notion of Entity Beans as a way to handle persistence in Java EE 5. JBoss contributed many ideas to the JPA, but it is not based solely on Hibernate, according to JBoss.

Another new feature in Version 3.2 is customizable context management for Java environments. Also, an optimistic locking function, for record-locking, can lock in a cluster with the new JBoss Cache provider. Declarative data filers are featured for transparent definition of dynamic data views. Enhanced query options and query language are included in Version 3.2 as well.

Also offered as part of the Hibernate 3.2 release are modular bundles, including Hibernate Core, which is a high-performance query service for object-relational mapping usage. It features a data management and query API and object-relational mapping with XML metadata. Hibernate Annotations in Version 3.2 include several packages of JDK (Java Development Kit) 5.0 code annotations for mapping classes as a replacement or in addition to XML metadata. The Hibernate EntityManager in Version 3.2 implements Java Persistence programming interfaces, object lifecycle rules, and query options as defined by Java Specification Request 220.

Although the Core, Annotations, and EntityManager are not new with Version 3.2, developers now have the flexibility to use these in combinations with or without an application server.

Hibernate is offered under a Gnu Lesser General Public License. Users also can buy subscriptions from JBoss that feature support for the product.