Simple Hibernate XML Configuration

David Winterfeldt

2008


A simple example using Hibernate with an XML configuration to find, save, and update a record.

1. Spring Configuration

The HsqldbInitializingDriverManagerDataSource is used to initialize the test HSQLDB database and the LocalSessionFactoryBean is using to configure Hibernate. The mappingLocations property is used to set a list of Hibernate XML mapping files. The Person DAO is configured using Hibernate's session factory.

                
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
                           http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="dataSource"
          class="org.springbyexample.jdbc.datasource.HsqldbInitializingDriverManagerDataSource">
        <property name="sqlScriptProcessor">
            <bean class="org.springbyexample.jdbc.core.SqlScriptProcessor">
                <property name="sqlScripts">
                    <list>
                        <value>classpath:/schema.sql</value>
                    </list>
                </property>
            </bean>
        </property>
    </bean>

    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="mappingLocations">
            <list>
                <value>classpath:org/springbyexample/orm/hibernate3/bean/Person.hbm.xml</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <value>
                hibernate.format_sql=true
                hibernate.dialect=org.hibernate.dialect.HSQLDialect
            </value>
        </property>
    </bean>

    <bean id="personDao" class="org.springbyexample.orm.hibernate3.dao.PersonDaoImpl">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

</beans>