Un enfoque alternativo de configuración es especificar una configuración completa en un archivo llamado hibernate.cfg.xml. Este archivo se puede utilizar como un remplazo del archivo hibernate.properties o en el caso de que ambos se encuentren presentes para sobrescribir propiedades.

El archivo de configuración XML por defecto se aguarda en la raíz de su CLASSPATH. Este es un ejemplo


?xml version='1.0' encoding='utf-8'?
!DOCTYPE hibernate-configuration PUBLIC
-//Hibernate/Hibernate Configuration DTD//EN
//hibernate.sourceforge.net/hibernate-configuration-3.0.dtd

ibernate-configuration

!-- a SessionFactory instance listed as /jndi/name --
session-factory
name=javahibernate/SessionFactory

!-- properties --
property name=connection.datasource
java/comp/env/jdbc/MyDBproperty
property name=dialect
org.hibernate.dialect.MySQLDialectproperty
property name=show_sql
falseproperty
property name=transaction.factory_class
org.hibernate.transaction.JTATransactionFactory
property
property name=jta.UserTransaction
javacomp/UserTransactionproperty

!-- mapping files --
mapping resource=org/hibernate/auction/Item.hbm.xml
mapping resource=org/hibernate/auction/Bid.hbm.xml

!-- cache settings --
class-cache class=org.hibernate.auction.Item usage=read-write
class-cache class=org.hibernate.auction.Bid usage=read-only
collection-cache collection=org.hibernate.auction.Item.bids usage=read-write

session-factory

hibernate-configuration

La ventaja de este enfoque es la externalización de los nombres de los ficheros de mapeo a la configuración. El hibernate.cfg.xml también es más práctico una vez que haya afinado el caché de Hibernate. Puede elegir ya sea hibernate.properties o hibernate.cfg.xml. Ambos son equivalentes excepto por los beneficios de utilizar la sintaxis XML que mencionados anteriormente.

Con la configuración XML iniciar Hibernate es tan simple como

SessionFactory sf = new Configuration().configure().buildSessionFactory()
Puede seleccionar un fichero de configuración XML distinto utilizando

SessionFactory sf = new Configuration()
.configure(catdb.cfg.xml)
.buildSessionFactory()