首页>代码>spring整合hibernate+ehcache实现最简单的入门代码demo实例,对初学者很有帮助>/HibernateEHCacheExample/src/main/java/com/zuidaima/hibernate/main/HibernateEHCacheMain.java
package com.zuidaima.hibernate.main; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.stat.Statistics; import com.zuidaima.hibernate.model.Employee; import com.zuidaima.hibernate.util.HibernateUtil; public class HibernateEHCacheMain { public static void main(String[] args) { System.out.println("Temp Dir:"+System.getProperty("java.io.tmpdir")); //Initialize Sessions SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); Statistics stats = sessionFactory.getStatistics(); System.out.println("Stats enabled="+stats.isStatisticsEnabled()); stats.setStatisticsEnabled(true); System.out.println("Stats enabled="+stats.isStatisticsEnabled()); Session session = sessionFactory.openSession(); Session otherSession = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); Transaction otherTransaction = otherSession.beginTransaction(); printStats(stats, 0); Employee emp = (Employee) session.load(Employee.class, 1L); printData(emp, stats, 1); emp = (Employee) session.load(Employee.class, 1L); printData(emp, stats, 2); //clear first level cache, so that second level cache is used session.evict(emp); emp = (Employee) session.load(Employee.class, 1L); printData(emp, stats, 3); emp = (Employee) session.load(Employee.class, 3L); printData(emp, stats, 4); emp = (Employee) otherSession.load(Employee.class, 1L); printData(emp, stats, 5); //Release resources transaction.commit(); otherTransaction.commit(); sessionFactory.close(); } private static void printStats(Statistics stats, int i) { System.out.println("***** " + i + " *****"); System.out.println("Fetch Count=" + stats.getEntityFetchCount()); System.out.println("Second Level Hit Count=" + stats.getSecondLevelCacheHitCount()); System.out .println("Second Level Miss Count=" + stats .getSecondLevelCacheMissCount()); System.out.println("Second Level Put Count=" + stats.getSecondLevelCachePutCount()); } private static void printData(Employee emp, Statistics stats, int count) { System.out.println(count+":: Name="+emp.getName()+", Zipcode="+emp.getAddress().getZipcode()); printStats(stats, count); } }
最近下载更多