Followers

hb: Mapping And Configuration Files In Hibernate

Every hibernate program must need configuration file and mapping file(Not required for Annotation based).

Mapping File:


  1. Mapping file is the heart of hibernate application.
  2. Every ORM tool needs this mapping, mapping is the mechanism of placing an object properties into column’s of a table.
  3. Mapping can be given to an ORM tool either in the form of an XML or in the form of the annotations.
  4. The mapping file contains mapping from a pojo class name to a table name and pojo class variable names to table column names.
  5. While writing an hibernate application, we can construct one or more mapping files which means hibernate application can contain any number of  mapping files.


In order to inform what value of an object has to be stored in what column of the table, will be taking care by the mapping,  actually mapping can be done using 2 ways,

  • XML
  • Annotations.

Actually annotations are introduced into java from JDK 1.5.

Syntax Of Mapping xml:

<hibernate-mapping>

<class name="POJO class name" table="table name in database">
<id name="variable name" column="column name in database" type="java/hibernate type" />
<property name="variable1 name" column="column name in database" type="java/hibernate type" />
<property name="variable2 name" column="column name in database" type="java/hibernate type" />
</class>

</hibernate-mapping>

Configuration File:

Configuration is the file loaded into an hibernate application when working with hibernate, this configuration file contains 3 types of information.


  1. Connection Properties
  2. Hibernate Properties
  3. Mapping file name(s)


We must create one configuration file for each database we are going to use, suppose if we want to connect with 2 databases, like Oracle, MySql, then we must create 2 configuration files.

Note : No. of databases we are using  = That many number of configuration files

We can write this configuration in 2 ways…
xml
By writing Properties file.  We don’t have annotations here, actually in hibernate 1, 2.x we defined this configuration file by writing .properties file, but from 3.x xml came into picture.
so, finally

  1. Mapping –> xml, annotations
  2. Configuration –> xml, .properties (old style)


Syntax Of Configuration xml:

<hibernate-configuration>
<session-factory>

<!-- Related to the connection START -->
<property name="connection.driver_class">Driver Class Name </property>
<property name="connection.url">URL </property>
<property name="connection.user">user </property>
<property name="connection.password">password</property>
<!-- Related to the connection END -->

<!-- Related to hibernate properties START -->
<property name="show_sql">true/false</property>
<property name="dialet">Database dialet class</property>
<property name="hbm2ddl.auto">create/update or what ever</property>
<!-- Related to hibernate properties END-->

<!-- Related to mapping START-->
<!-- Only for XML based mapping-->
<mapping resource="hbm file 1 name .xml" / >
<mapping resource="hbm file 2 name .xml" / >

 <!-- Only for Annotation based mapping-->
<mapping class="fully qualified Bean name" />

<!-- Related to the mapping END -->

</session-factory>
</hibernate-configuration>

But XML files are always recommended to work.

No comments:

Post a Comment