Hibernate : Stateless Session

In this section we will show how stateless session works.

Hibernate : Stateless Session

Hibernate : Stateless Session

In this section we will show how stateless session works.

Hibernate Stateless Session :


Stateless Session :It has no persistence context associated with it. It doesn't provide many of the higher level life- cycle semantics.

  • A stateless session does not implement -
  • a first-level cache.
  • any second-level or query cache.
  • transactional write-behind or automatic dirty checking.
  • cascade to associated instances.

Stateless session ignores collections. It is a low-level abstraction that is closer to the JDBC.

Example :

In this example we are updating student record of roll number 5 by using stateless session.

package net.roseindia.main;

import net.roseindia.table.Student;
import net.roseindia.util.HibernateUtil;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.StatelessSession;
import org.hibernate.Transaction;

public class HibernateStatelessSession {
public static void main(String args[]) {
StatelessSession session = HibernateUtil.getSessionFactory().openStatelessSession();
Transaction transaction = session.beginTransaction();
int roll = 5;
Student student = (Student) session.get(Student.class, roll);
try {
student.setName("Jolly");
student.setCourse("Hibernate");
session.update(student);
transaction.commit();

System.out.println("Update Successfully");
session.close();
} catch (HibernateException e) {
e.printStackTrace();
}
}
}

Output:

Hibernate: select student0_.roll_no as roll1_0_0_, student0_.course as course0_0_, student0_.name as name0_0_ from student student0_ where student0_.roll_no=?
Hibernate: update student set course=?, name=? where roll_no=?
Update Successfully

Click here to download complete source code