Writing First Hibernate Code
In this section I will show you how to create a simple program to insert record in MySQL database. You can run this program from Eclipse or from command prompt as well. I am assuming that you are familiar with MySQL and Eclipse environment.
Configuring Hibernate
In this application Hibernate provided connection pooling and transaction
management is used for simplicity. Hibernate uses the hibernate.cfg.xml to
create the connection pool and setup required environment.
- This tutorial is old - Check the latest tutorial Hibernate 4 Hello World Tutorial.
Here is the latest video tutorial of writing Hibernate application which is developed using the Hibernate 4. In this video tutorial you will learn the latest method of writing Hibernate code.
Here is the video tutorial of "How to create Hibernate 4 Hello World Program?":
Here is the code:
<?xml version='1.0' encoding='utf-8'?> com.mysql.jdbc.Driver</property> jdbc:mysql://localhost/hibernatetutorial</property> |
In the above configuration file we specified to use the "hibernatetutorial" which is running on localhost and the user of the database is root with no password. The dialect property is org.hibernate.dialect.MySQLDialect which tells the Hibernate that we are using MySQL Database. Hibernate supports many database. With the use of the Hibernate (Object/Relational Mapping and Transparent Object Persistence for Java and SQL Databases), we can use the following databases dialect type property:
- DB2 - org.hibernate.dialect.DB2Dialect
- HypersonicSQL - org.hibernate.dialect.HSQLDialect
- Informix - org.hibernate.dialect.InformixDialect
- Ingres - org.hibernate.dialect.IngresDialect
- Interbase - org.hibernate.dialect.InterbaseDialect
- Pointbase - org.hibernate.dialect.PointbaseDialect
- PostgreSQL - org.hibernate.dialect.PostgreSQLDialect
- Mckoi SQL - org.hibernate.dialect.MckoiDialect
- Microsoft SQL Server - org.hibernate.dialect.SQLServerDialect
- MySQL - org.hibernate.dialect.MySQLDialect
- Oracle (any version) - org.hibernate.dialect.OracleDialect
- Oracle 9 - org.hibernate.dialect.Oracle9Dialect
- Progress - org.hibernate.dialect.ProgressDialect
- FrontBase - org.hibernate.dialect.FrontbaseDialect
- SAP DB - org.hibernate.dialect.SAPDBDialect
- Sybase - org.hibernate.dialect.SybaseDialect
- Sybase Anywhere - org.hibernate.dialect.SybaseAnywhereDialect
The <mapping resource="contact.hbm.xml"/> property is the mapping for our contact table.
Writing First Persistence Class
Hibernate uses the Plain Old Java Objects (POJOs) classes to map to the database
table. We can configure the variables to map to the database column. Here is the
code for Contact.java:
package roseindia.tutorial.hibernate;
|
Mapping the Contact Object to the Database Contact
table
The file contact.hbm.xml is used to map Contact Object to the Contact table in
the database. Here is the code for contact.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="roseindia.tutorial.hibernate.Contact" table="CONTACT"> <id name="id" type="long" column="ID" > <generator class="assigned"/> </id> <property name="firstName"> <column name="FIRSTNAME" /> </property> <property name="lastName"> <column name="LASTNAME"/> </property> <property name="email"> <column name="EMAIL"/> </property> </class> </hibernate-mapping> |
Setting Up MySQL Database
In the configuration file(hibernate.cfg.xml) we have specified to use hibernatetutorial
database running on localhost. So, create the databse ("hibernatetutorial")
on the MySQL server running on localhost.
Developing Code to Test Hibernate example
Now we are ready to write a program to insert the data into database. We should
first understand about the Hibernate's Session. Hibernate Session is the main
runtime interface between a Java application and Hibernate. First we are
required to get the Hibernate Session.SessionFactory allows application to
create the Hibernate Sesssion by reading the configuration from hibernate.cfg.xml
file. Then the save method on session object is used to save the contact
information to the database:
session.save(contact)
Here is the code of FirstExample.java
|
In the next section I will show how to run and test the program.