Configuring Glassfish to Support Hibernate
This is just a short post to remember how I prepared Glassfish to use Hibernate 3 as a JPA persistence framework.
The first step is to add Hibernate libraries in #glassfish_home#/lib . Those libraries are:
- antlr-2.7.6.jar
- c3p0-0.9.1.jar
- cglib-nodep-2.1.3.jar
- commons-collections-2.1.1.jar
- commons-logging-1.0.4.jar
- concurrent-1.3.2.jar
- dom4j-1.6.1.jar
- ehcache-1.2.3.jar
- hibernate3.jar
- hibernate-annotations.jar
- hibernate-commons-annotations.jar
- hibernate-entitymanager.jar
- hibernate-validator.jar
- javassist.jar
- log4j-1.2.11.jar
- ojdbc14.jar
All these libraries are distributed with Hibernate on this web page: http://hibernate.org/6.html. There are even more libraries available, but the set above was compiled by an attempt/error approach, which was indeed a tough task. You have to restart Glassfish in order to use those new libraries.
The next step is to create a connection pool and a JDBC resource, but I will assume that you know how to do that or you have read a post like the one written by Jagadish.
Finally, you have to configure your persistence unit in order to use Hibernate. See parts of my persistence.xml file below:
<persistence version=”1.0″
xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="#persist-unit-name#" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>#jdbc-datasource#</jta-data-source>
<class>#persistence-class#</class>
... <!-- Your persistence classes -->
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.dialect"
value="org.hibernate.dialect.Oracle10gDialect"/>
<property name="hibernate.show_sql" value="false"/>
<property name="hibernate.cache.provider_class"
value="org.hibernate.cache.HashtableCacheProvider"/>
</properties>
</persistence-unit>
</persistence>
Basically, you have to set the provider tag with org.hibernate.ejb.HibernatePersistence
and set some properties according to specific needs. That’s all!
Recent Posts
Clojure Books in the Toronto Public Library

Knowledge Portfolio 2023

Once Upon a Time in Russia

FHIR: A Standard For Healthcare Data Interoperability

First Release of CSVSource

Never Too Soon to Change Plans

Bootstrapping my Repositories

Reaching RMM Level 1 in My Repositories

The Repositories of my Portfolio

Knowledge Portfolio 2022

Astonishing Carl Sagan's Predictions Published in 1995

Making a Configurable Go App

Dealing With Pressure Outside of the Workplace

Reacting to File Changes Using the Observer Design Pattern in Go

Provisioning Azure Functions Using Terraform
