Hibernate hbm.xml

Ads
 

Hibernate hbm.xml

This tutorial is helpful to understand about hbm.xml

This tutorial is helpful to understand about hbm.xml

Hibernate hbm.xml

This tutorial is helpful to understand about hbm.xml

In hibernate, there is two way of mapping - first one is by using hibernate annotation and second one is by using hbm.xml.

When you use hbm.xml, just modify default hibernate SessionFactory class in hibernate-cfg.xml by passing your "hbm.xml" file path as an argument to resource method.

Example: Here we are taking an example of employee table.


Employee.hbm.xml file is your hbm.xml file in which table column and their types are mapped.

Employee.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="net.roseindia.table.Employee" table="employee">
<id name="empId" type="int" column="emp_id">
<generator class="native" />
</id>
<property name="EmpName" type="string" column="emp_name" />
<property name="salary" type="int" column="emp_salary" />
<property name="designation" type="string" column="designation" />
<property name="address" type="string" column="address" />
</class>
</hibernate-mapping>

hibernate-cfg.xml is configuration file of hibernate where you map hbm.xml

<?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">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</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">none</property>
<mapping resource="Employee.hbm.xml"/>
</session-factory>

</hibernate-configuration>

Ads

Ads