Hibernate getSession

In this section we will discuss about hibernate getSession() method.

Hibernate getSession

Hibernate getSession

In this section we will discuss about hibernate getSession() method.

getSession():

getSession(EntityMode entityMode)
It starts a new session with the given entity mode. This is secondary session and inherits the connection, transaction and other context information from the primary session. No need to flush or close it. entityMode is used here for the new session.

Hibernate provides three kind of entity mode for getSession() method.

  • POJO
  • DOM4J
  • MAP

POJO is default mode. It is commonly used. It tells session how to handle entities.
for dom4j element configure it into session as DOM4J session. It returns list of DOM4j elements.
We can configure session to use any of these mode according to the need and also configure it into hibernate configuration file by adding property as -

<property name="default_entity_mode">dom4j</property>

Example :In this example we are showing how to use entity mode DOM4J.

package net.roseindia.main;

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

public class HibernateGetSession {
public static void main(String args[]) {
Session session = HibernateUtil.getSessionFactory().openSession();
Session session2=session.getSession(EntityMode.DOM4J);
try {

List list=session2.createQuery("SELECT s.roll, s.name, s.course FROM Student s WHERE s.roll> 5").list();
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();
}
session.close();
} 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