Hibernate: Query Caching

In this part you will learn about Hibernate query caching.


 

Ads

Tutorials   
Hibernate 5 build SessionFactory Example Hibernate 5 SessionFactory Example Hibernate 5 Annotation Example How to download Hibernate 5.x? Hibernate 5 Features Hibernate 5 Tutorials Learning Hibernate ORM - Free Training/Tutorial videos of Hibernate ORM with Java How to write hello world example program in Hibernate? How to create one to one relationship in Hibernate 4 with Annotation? How to calculate minimum in Hibernate using the min() Function Hibernate ORM 4.2.21.Final Released - Create CURD application in latest Hibernate Hibernate ORM 4.2.21 Tutorial - Learn Hibernate ORM Framework Hibernate Error: Failed to create sessionFactory object.java.lang.NoClassDefFoundError How to create Hibernate Project in Eclipse? Examples of Hibernate Criteria Query Hibernate ORM 4.3.6.Final released Hibernate ORM 4.2.14.Final released Hibernate 4.3.4 Released: Hibernate 4.3.4.Final Maven dependency Hibernate association and join example Learn Hibernate programming with Examples Introduction to Hibernate Framework Hibernate Tutorial: Learn Hibernate with examples Hibernate 4.3 Hello World: Example Hibernate ORM 4.3.1.Final released How to create SessionFactory in Hibernate 4.3.1? Hibernate 4 Hello World: Example of Hello World program Hibernate 4 create Session Factory: Example of creating Session Factory in Hibernate 4 Hibernate 4.3 and JPA 2.1 Example What is Hibernate in Java? Hibernate Overview and Architecture What is JPA 2.1? Hibernate 4.3.0.Final Maven dependency Hibernate 4.3 ORM Features Hibernate 4.3 Tutorial Hibernate Criteria average example Hibernate Criteria load all objects from table Hibernate Criteria Hibernate ORM 4.3.0.Final released Hibernate beginner tutorial Hibernate Session.delete() Example Hibernate save or update method example Hibernate Load Example Hibernate save Example - Rose India Hibernate 4 tutorials Hibernate Example Step by Step in Eclipse Hibernate Configuration files Setup Hibernate Environment Hibernate Architecture Hibernate Overview Hibernate 4.2 Tutorial Hibernate 4.2.8 Maven dependency
Ads

Hibernate: Query Caching

In this part you will learn about Hibernate query caching.

Query Caching :

Second type of cache is called the query cache and it is optional. Using this cache ,Hibernate cache queries and their results in the event the application executes the same query again.
The query cache takes memory and it is useful for queries that run frequently with the same parameters. The main objective of query caching is to maintain caching for results of queries.

For Query caching we use in our code -

query.setCacheable(true);

It defines that the query is actually cacheable. If we will not define it, then it would not be cached.
We should also do some changes in configuration file to enable the query cache.
Here is the property attribute to add in Hibernate.cfg.xml-

<property name="hibernate.cache.use_query_cache">true</property>

Example :

Hibernate.cfg.xml -

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

<session-factory>

<!-- Database connection settings -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/hibernate_examples</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>
<!-- Enable Hibernate's query cache -->
<property name="hibernate.cache.use_query_cache">true</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">none</property>
<mapping class="net.roseindia.table.Student"/>
</session-factory>

</hibernate-configuration>

Main Class  HibernateQueryCache.java -

package net.roseindia.main;

import java.util.Iterator;

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

public class HibernateQueryCache {
public static void main(String args[]) {
Session session = HibernateUtil.getSessionFactory().openSession();

try {
Query query = session.createQuery("FROM Student stud WHERE stud.roll=1");
query.setCacheable(true);   //Enabling query cache
Iterator iterator=query.list().iterator();
while(iterator.hasNext()){
Student student=(Student) iterator.next();
System.out.println("RollNo. :" + student.getRoll());
System.out.println("Name :" + student.getName());
System.out.println("Course :" + student.getCourse());
}


session.close();
} catch (HibernateException e) {
e.printStackTrace();
}
}
}

Click here to download complete source code

Advertisements

Ads
Share on Google+Share on Google+

Hibernate: Query Caching

Posted on: August 20, 2012 If you enjoyed this post then why not add us on Google+? Add us to your Circles

Advertisements

 

Discuss: Hibernate: Query Caching  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:1
bijendra
December 3, 2012
java

java is a better language

Ads

 

Ads