Hibernate 启用二级缓存
来源:互联网 发布:java如何记录日志 编辑:程序博客网 时间:2024/05/13 06:30
Hibernate中,启用二级缓存:
二级缓存的组件配置
1. 引用第三方缓存组件(ehcache)
引用jar包:ehcache-1.2.3.jar
缓存配置文件:ehcache.xml
2. 启用二级缓存
<!-- 启用二级缓存 -->
<property name="hibernate.cache.use_second_level_cache">true</property>
3 设置被缓存的类
<!-- 设置缓存的类(被缓存的对象) -->
<class-cache usage="read-only" class="com.bjpowernode.hibernate.pojo.User"/>
4 让框架能够识别ehcache缓存组件
<!-- 让框架识别ehCache组件 -->
<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
.
public static void main(String[] args) throws Exception {Session session = null;try {session = HibernateUtil.getSession();HibernateUtil.beginTransaction(session);/*第一次查询时,将查询结果放置到一级缓存中,如果开启了二级缓存,也会放到二级缓存中*/User user = (User)session.load(User.class, 1);System.out.println(user.getId() + " -- " + user.getName());HibernateUtil.commitTransaction(session);} catch (Exception e) {e.printStackTrace();HibernateUtil.rollbackTransaction(session);throw e;} finally {HibernateUtil.closeTransaction(session);}try {/*新的sessiion对象,session缓存中无任何数据*/session = HibernateUtil.getSession();HibernateUtil.beginTransaction(session);/*再次查询相同数据时,先判断一级缓存中是否有数据,如果有就直接获取 * 如果一级缓存中没有数据,会判断是否开启了二级缓存,在查找二级缓存 * *//*将查询结果放置到1 2 级缓存中*/User user = (User)session.load(User.class, 1);System.out.println(user.getId() + " -- " + user.getName());HibernateUtil.commitTransaction(session);} catch (Exception e) {e.printStackTrace();HibernateUtil.rollbackTransaction(session);throw e;} finally {HibernateUtil.closeTransaction(session);}}这样,在运行时,第二次查询就不会像数据库发送查询语句了
0 0
- Hibernate 启用二级缓存
- Hibernate启用二级缓存机制配置
- Spring中启用Hibernate二级缓存步骤
- Spring 整合 Hibernate 时启用二级缓存
- hibernate 二级缓存
- hibernate 二级缓存
- hibernate二级缓存
- Hibernate二级缓存
- hibernate二级缓存
- hibernate 二级缓存
- Hibernate 二级缓存
- hibernate二级缓存
- Hibernate二级缓存
- hibernate二级缓存
- Hibernate二级缓存
- Hibernate 二级缓存
- hibernate二级缓存
- hibernate 二级缓存
- JSP动态生成验证码
- Leetcode dfs Construct Binary Tree from Inorder and Postorder Traversal
- 交通灯管理系统
- 视频编码学习之三
- Ubuntu下与菜单和图标相关的几个文件夹
- Hibernate 启用二级缓存
- 求整型二叉树节点差值的最大绝对值
- C++ inline 函数
- PHP获取当前时间、时间戳的各种格式写法汇总
- 测试
- kill掉父进程,子进程不同的运行方式
- Linux软件源码安装(configure)
- 简易安装mysql
- MyEclipse生成WAR包并在Tomcat下部署发布