JPA2.0 缓存 之 Cache 注解的使用

来源:互联网 发布:单片机烧录器 编辑:程序博客网 时间:2024/06/05 15:35

如果要使用缓存, 必须在persistence.xml文件中设定

 

 

然后 Entity 需要

 

 

@Cache(usage=CacheConcurrencyStrategy.READ_ONLY)


表示该Entity加入到CacheManager的管理下

 

 

要使用查询缓存:主要设置

if(query instanceof org.hibernate.ejb.QueryImpl<?>){
   ((QueryImpl<?>) query).getHibernateQuery().setCacheable(true);
  }

 

 

运行结果

=============

 

Hibernate: select user0_.id ...... from users user0_ where user0_.id=?
----xxx----
Hibernate: select user0_.id ...... from users user0_

 


===============

 

em.find

em.find

em.find

多个 em 在二级缓存中均有效,所以只执行一次

-----xxxxx-----

query.getResultList

query.getResultList

同样,由于查询缓存的作用,该查询也只执行一次

 

 

 

 

 

 

原创粉丝点击