Creating the Hibernate Configuration File

From Documentation
Revision as of 04:33, 19 July 2010 by Char (talk | contribs) (Created page with '{{ZKDevelopersGuidePageHeader}} The next step is to setup Hibernate to use a database. HSQL DB, a java-based SQL DBMS, can be downloaded from the HSQL DB website([http://hsqldb.…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Creating the Hibernate Configuration File


Stop.png This documentation is for an older version of ZK. For the latest one, please click here.


The next step is to setup Hibernate to use a database. HSQL DB, a java-based SQL DBMS, can be downloaded from the HSQL DB website(http://hsqldb.org/).

  1. Unzip it to a directory, say c:/hsqldb. (note: For hsqldb, the directory must be at the same partition of your web application, and under root directory)
  2. Copy hsqldb.jar to $myApp/WEB-INF/lib
  3. Open a command box and change to c:/hsqldb/lib
  4. In the command prompt, execute java -cp hsqldb.jar org.hsqldb.Server

After installing the database, we have to setup Hibernate Configuration file. Create hibernate.cfg.xml in the directory called src in the development folder(ex.$myApp/WEB-INF/src/hibernate.cfg.xml). Copy the following lines into your hibernate.cfg.xml. It depends on how you map your Java objects. (Note: if you're using eclipse, hibernate.cfg.xml should be placed under src folder of Java Resources)

Using the Mapping Files

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

 <hibernate-configuration>

     <session-factory>

         <!-- Database connection settings -->
         <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
         <property name="connection.url">jdbc:hsqldb:hsql://localhost</property>
         <property name="connection.username">sa</property>
         <property name="connection.password"></property>

         <!-- JDBC connection pool (use the built-in) -->
         <property name="connection.pool_size">1</property>

         <!-- SQL dialect -->
         <property name="dialect">org.hibernate.dialect.HSQLDialect</property>

         <!-- Enable Hibernate's automatic session context management -->
         <property name="current_session_context_class">thread</property>

         <!-- Disable the second-level cache  -->
         <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

         <!-- Echo all executed SQL to stdout -->
         <property name="show_sql">true</property>

         <!-- Drop and re-create the database schema on startup -->
         <property name="hbm2ddl.auto">create</property>

         <mapping resource="events/Event.hbm.xml"/> 

     </session-factory>

 </hibernate-configuration>

Using Java Annotation

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
  "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <session-factory>
     <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
     <property name="connection.url">jdbc:hsqldb:hsql://localhost</property>
     <property name="connection.username">sa</property>
     <property name="connection.password"></property>

        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">1</property>

        <!-- Enable Hibernate's automatic session context management -->
        <property name="current_session_context_class">thread</property>

        <!-- Disable the second-level cache -->
        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">true</property>

        <!-- Drop and re-create the database schema on startup -->
        <property name="hbm2ddl.auto">create</property>
  
        <mapping class="events.Event" />
    </session-factory>
</hibernate-configuration>

We continue with how to create a class to handle data accessing jobs.



Last Update : 2010/07/19

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.