Hibernate二级缓存 - 入门示范(转)
Hibernate二级缓存 ---- 入门示例(转)转自(http://elf8848.iteye.com/blog/700262)???? ???四.usage的说明
Hibernate二级缓存 ---- 入门示例(转)
转自(http://elf8848.iteye.com/blog/700262)
?
?


??
?
?
?
四.usage的说明
?
????? "read-only"????????????????????? 只读的,? po不能修改, 修改会抛异常
????? "read-write"??????????????????? 可对PO读写. 不怕并发修改
????? "nonstrict-read-write"???? 非严格的 读写, 并发修改不会问题,? 一般用在能容忍出问题的环境.
????? "transactional"??????????????? 有事务的,缓存 , oscache不是支持,? jboss 有实现.
?
?
?
五. 查询测试, 看看命中几次
?
?

package cache_test;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.stat.Statistics;import dao.HibernateUtil;import dao.po.Person;/** * 测试缓存 * */public class Test{public static void main(final String[] args){query();final SessionFactory sf = HibernateUtil.getSessionFactory();final Statistics s = sf.getStatistics();System.out.println(s); //打印所有信息 监测SessionFactorySystem.out.println("---------------");System.out.println("放入:" + s.getSecondLevelCachePutCount()); //打印缓存的信息System.out.println("命中:" + s.getSecondLevelCacheHitCount());System.out.println("丢失:" + s.getSecondLevelCacheMissCount());}public static void query(){Session session = null;for (int i = 0; i < 10; i++){session = HibernateUtil.getSeesion();final Person p1 = (Person) session.get(Person.class, 1);session.close();System.out.println(p1.getName());}}}?
?
六:? 打印出:
放入:1
命中:9
丢失:1