Hibernate Framework Architecture and Basics
Hibernate Hello World Tutorial
Hibernate XML Configuration Example
Hibernate Java Configuration Example
Hibernate Transaction Management
Hibernate/JPA - Primary Key Generation Strategies
JPA and Hibernate Cascade Types
Hibernate - Save an Entity Example
Hibernate - Persist an Entity Example
Hibernate - saveOrUpdate() Method Example
Hibernate - get(), load() and byId() Method
Hibernate - merge() Example
Hibernate - Delete or Remove an Entity Example
Hibernate - load() Method Example
Hibernate Session.clear() Method Example
Hibernate One to One Mapping
Hibernate One to Many Mapping
Hibernate Many to Many Annotation
Hibernate One to Many CRUD Example
Hibernate One to One CRUD Example
Hibernate Inheritance Mapping
Hibernate Query Language
Hibernate CRUD Operations Example
Hibernate Session Interface Methods
JSP Servlet Hibernate CRUD Example
Hibernate Registration Form Example
Login Form using JSP + Servlet + Hibernate + MySQL
More .........
In this short article, we will learn how to remove cache objects from the first level cache using the Session.clear() method with an example.
Learn complete Hibernate framework at https://www.javaguides.net/p/hibernate-tutorial.html.
The Session.clear() method is used to remove all cached objects associated with the session.
void org.hibernate.Session.clear()
This method is used to completely clear the session. Evict all loaded instances and cancel all pending saves, updates, and deletions. Do not close open iterators or instances of ScrollableResults.
Hibernate Session.clear() Method Example
The Session.clear() method is used to remove all cached objects associated with the session.
package net.javaguides.hibernate.tutorial;
import org.hibernate.Session;
import org.hibernate.Transaction;
import net.javaguides.hibernate.tutorial.config.HibernateJavaConfig;
import net.javaguides.hibernate.tutorial.entity.Student;
public class RemoveFirstCacheDemo {
public static void main(String[] args) {
Transaction transaction = null;
try (Session session = HibernateJavaConfig.getSessionfactory().openSession()) {
// start the transaction
transaction = session.beginTransaction();
// get the student entity using id
Student student1 = session.load(Student.class, new Long(1));
System.out.println(student1.getFirstName());
System.out.println(student1.getLastName());
System.out.println(student1.getEmail());
// load student entity by id
Student student2 = session.load(Student.class, new Long(1));
System.out.println(student2.getFirstName());
System.out.println(student2.getLastName());
System.out.println(student2.getEmail());
session.clear();
// load student entity by id
Student student3 = session.load(Student.class, new Long(1));
System.out.println(student3.getFirstName());
System.out.println(student3.getLastName());
System.out.println(student3.getEmail());
// commit transaction
transaction.commit();
} catch (Exception e) {
if (transaction != null) {
transaction.rollback();
}
}
}
}
Output:
Hibernate: select student0_.id as id1_0_0_, student0_.email as email2_0_0_, student0_.first_name as first_na3_0_0_, student0_.last_name as last_nam4_0_0_ from student student0_ where student0_.id=?
Prabhas
Fadatare
prabhas@gmail.com
Prabhas
Fadatare
prabhas@gmail.com
Hibernate: select student0_.id as id1_0_0_, student0_.email as email2_0_0_, student0_.first_name as first_na3_0_0_, student0_.last_name as last_nam4_0_0_ from student student0_ where student0_.id=?
Prabhas
Fadatare
prabhas@gmail.com
Clearly, a clear() method removed all the student objects from the first level cache so that it was fetched again from the database.
Also, check out the Hibernate Session.evict() Method Example.
Free Spring Boot Tutorial | Full In-depth Course | Learn Spring Boot in 10 Hours
Watch this course on YouTube at Spring Boot Tutorial | Fee 10 Hours Full Course
Comments
Post a Comment