Writing Hibernate Configuration Files
In the previous section we completed the database setup and created required table and populated with the data. In this section we will write required hibernate configuration files.
For this tutorial we need following Hibernate configuration files:
Hibernate Configuration File
Hibernate configuration file (hibernate.cfg.xml) is used to provide the information which is necessary for making database connections. The mapping details for mapping the domain objects to the database tables are also a part of Hibernate configuration file.
Here is the code of our Hibernate Configuration File:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost/struts-hibernate</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.connection.pool_size">10</property>
<property name="show_sql">true</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- Mapping files -->
<mapping resource="/roseindia/net/dao/hibernate/Tutorial.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Place hibernate.cfg.xml file in the source directory e.g. "C:\Struts-Hibernate-Integration\code\src\java"
The <mapping resource=''> tag is used to specify the mapping file:
<mapping resource="/roseindia/net/dao/hibernate/Tutorial.hbm.xml"/>
Code of Tutorial.hbm.xml:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping auto-import="true" default-lazy="false">
<class
name="roseindia.net.dao.hibernate.Tutorial"
table="tutorials"
>
<id
name="id"
type="java.lang.Integer"
column="id"
>
<generator class="increment" />
</id>
<property
name="shortdesc"
type="java.lang.String"
column="shortdesc"
not-null="true"
length="50"
/>
<property
name="longdesc"
type="java.lang.String"
column="longdesc"
not-null="true"
length="250"
/>
<property
name="pageurl"
type="java.lang.String"
column="pageurl"
not-null="true"
length="100"
/>
</class>
</hibernate-mapping>
Place Tutorial.hbm.xml file in the source directory e.g. "C:\Struts-Hibernate-Integration\code\src\java\roseindia\net\dao\hibernate\"
POJO Object
Here is the code of Java Bean object (Tutorial.java) used to store and retrieve
the data from database.
package roseindia.net.dao.hibernate; import java.io.Serializable; public class Tutorial implements Serializable { /** identifier field */ private Integer id; /** persistent field */ private String shortdesc; /** persistent field */ private String longdesc; /** persistent field */ private String pageurl; /** full constructor */ public Tutorial(Integer id, String shortdesc, String longdesc, String pageurl) { this.id = id; this.shortdesc = shortdesc; this.longdesc = longdesc; this.pageurl = pageurl; } /** default constructor */ public Tutorial() { } public Integer getId() { return this.id; } public void setId(Integer id) { this.id = id; } public String getShortdesc() { return this.shortdesc; } public void setShortdesc(String shortdesc) { this.shortdesc = shortdesc; } public String getLongdesc() { return this.longdesc; } public void setLongdesc(String longdesc) { this.longdesc = longdesc; } public String getPageurl() { return this.pageurl; } public void setPageurl(String pageurl) { this.pageurl = pageurl; } }
In this section we have created all the Hibernate related stuffs.