Basically, a stateless session is used to perform only one task. It does not take place in any type of cache. A cache is used to store the frequently used objects in the current context. There are some cases where a stateless session is very useful; for example, if we are reading data from a file and inserting it into the database, we don't need to cache that data further because this is a one-time operation.
Apart from this, a stateless session does not use dirty checking while performing a transactional operation. The collections, as well as hibernate's event model and interceptors, are ignored by a stateless session.
Now, let's look at how to create a stateless session. It's the same as creating a session, but the method is different:
Enter the following code to open a stateless session:
SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); Session session = sessionFactory.openStatelessSession();