Pages Navigation Menu

Coding is much easier than you think

Steps to be followed to use Hibernate in Java

Hibernate To Do List
In our previous tutorial we have learned about Simple Hibernate Application Requirements. In this article we shall explore about the exact flow to use hibernate in a java application.
Following are the Steps to be followed to Use Hibernate in Java

1. Import Hibernate API

Import the following hibernate API.

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;


2. Loading Configuration files

To load hibernate configuration xml, we need to create object of Configuration class and we need to call configure() method in that class.

Configuration cf = new Configuration().configure("hibernate.cfg.xml");

Once configure method is called, the following actions takes place:

  • The configuration object cf will read configuration details from hibernate.cfg.xml file and Stores the data in different variables of a high level hibernate object called SessionFactory.
  • Now this SessionFactory object sf contains all the data regarding the configuration file

So in java we get this configuration details by using the following code.

StandardServiceRegistryBuilder srb = new StandardServiceRegistryBuilder();
ServiceRegistry sr =;
SessionFactory sf = cf.buildSessionFactory(sr);

Note: Once we load the configuration file, the mapping file will be loaded automatically as we have configured the mapping xml in the hibernate configuration file.

3. Creating an object of session

To open a database connection in hibernate, we need to call openSession() method of SessionFactory, now assign this connection to Session interface.

Session session = sf.openSession();
//sf = Object of SessfionFactory 


4. Create a logical transaction

Hibernate needs a logical Transaction to perform insert, update and delete operations into any database. In order to begin a logical transaction in hibernate we need to call beginTransaction() method of Session Interface and assign it to Transaction interface.

Transaction tx = session.beginTransaction();
//session = Object of Session Interface

Note: For selecting an object from the database we do not require any logical transaction in hibernate.

5. Use Session Interface methods

We can use the methods given by Session Interface, to move the objects from java to database and from database to java – Insert object ‘s’ into database
session.delete(s) – Delete object ‘s’ from database
session.update(s) – Update object ‘s’ in the database
session.load(s) – Select object ‘s’ from database

6. Commit Transaction

Now we need to call commit() method of Transaction to perform commit operation using tx.commit();

7. Close Session and SessionFactory

As discussed earlier, when we open a session, a connection to database is created, so once the transaction is complete, we must close that connection via session.close() code and finally we have to close the SessionFactory via sf.close() code.
So the final flow of any hibernate application will be as below

Open Session
Begin Transaction
Commit Transaction
Close Session and SessionFactory


About Mohaideen Jamil

Am currently working as a Struts 2 Developer in a reputed IT Organisations. I can help you with teaching Core java and Struts 2. Follow me on Facebook or Google Plus. If you like my tutorials, consider making a donation to this charity, thanks.