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