Hibernate : getCurrentSession()

This tutorial describes how getCurrentSession() method works in Hibernate.

Hibernate : getCurrentSession()

Hibernate : getCurrentSession()

This tutorial describes how getCurrentSession() method works in Hibernate.

Hibernate : getCurrentSession() :

getCurrentSession() obtains the current session. It opens session when you call getCurrentSession() first time. It is closed when you end the transaction. So if you are using getCurrentSession() so no need to worry about to close it.
When you commit transaction it automatically flushed. During your transaction run, you can call getCurretnSession any time.

Returns:
current session.

Throws:
HibernateException - Indicates an issue locating a suitable current session.

Example : In this example we are using getCurrentSession() method. No need to close the session as when you call session.getTransaction().commit(); it automatically flushed your session.

package net.roseindia.main;

import java.util.*;
import net.roseindia.util.HibernateUtil;
import org.hibernate.HibernateException;
import org.hibernate.Session;

public class HibernateGetCurrentSession {
public static void main(String args[]) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();   //Transaction began
try {
List list=session.createQuery("SELECT s.roll, s.name, s.course FROM Student s WHERE s.roll> 5").list();
session.getTransaction().commit();   //Transaction committed 
Iterator iterator= list.iterator();
System.out.println("RollNo\tName\tCourse");
while(iterator.hasNext()){
Object []obj=(Object[])iterator.next();
System.out.print(obj[0]);
System.out.print("\t"+obj[1]);
System.out.print("\t"+obj[2]);
System.out.println();
}

} catch (HibernateException e) {
e.printStackTrace();
}
}
}

Output :

Hibernate: select student0_.roll_no as col_0_0_, student0_.name as col_1_0_, student0_.course as col_2_0_ from student student0_ where student0_.roll_no>5
RollNo     Name     Course
6          Mandy    C
8          John     Hibernate
9          Linda    Hibernate
10         Glinto   Hibernate

Click here to download complete source code