Hivernate Interceptor:接口
onSave onFlushDirty可在save update方法之前执行,以作Log来做历史记录为例
SessionFactory sessionFactory = config.buildSessionFactory();
MyIntercepor it = new MyInterceptor();
Session session = sessionFactory.openSession(it);
It.setSession(session);
It.setUserID(“currenetUser”);
TUser user = new TUser();
User.setName(“Erica”);
Transaction tx = session.beginTransaction();
Session.save(user);
Tx.conmit(); session.close();
而在LifeCycle和Interceptor接口中都不能直接调用当前session,而定义的方法都将由当前session负责调用,但如果在这些方法中用了当前session进行持久化操作,则将导致session内部状态的混乱
那么我们可以想到为了将log中的数据同业务数据分离可以重新获得一个新的session进行持久化操作,这种方法完全可行,但从性能上讲,一次操作需要两个数据库连接,势必影响到效率,这种方式有待商榷
既然当前session实例无法重用,重用当前session的数据库连接多少能减少一点性能损耗
我们可以通过Connnection connection = session.connection();得到当前连接,然后
Session tempSession = HibernateUtil.getSessionFactory().openSession(connection);
这里依托session的JDBC connection创建了一个临时性的session用于保存log记录
这里我们就无需再开启事务,这里的JDBC connection与session共享同一个事务。这里我们也不需要close
分享到:
相关推荐
上士信誉保证1月5日·最新过检测WPE·无须屏蔽软件
19年1月5日托福独立写作考试机经预测题2.docx
可以用的 我测试了的耶 一个60多天 一个半年 还有个256天 皆可用 下载后,如果过期请留言 我将每天更新 或者QQ临时聊天:707112588
消消乐消消乐消消乐消消乐消消乐消消乐消消乐消消乐消消乐消消乐消消乐消消乐消消乐
这个标题表明这是一份与在大连进行的实习项目相关的学习或工作资料,涵盖了2015年8月5日至8月7日的时间段。这可能是一个培训课程、工作坊或者实际项目中的经验总结,重点在于提升实习生的技术能力和实践经验。 ...
锡特卡天气图这是阿拉斯加锡特卡 2014 年 1 月 5 日的天气数据,其中包含当天的最高气温和最低气温,还有众多其他数据。
为了实现更复杂的功能,如自定义样式、多语言支持、日期范围限制等,开发者可能会选择使用第三方H5日历插件,如 Pikaday、DateTimePicker 或者 Flatpickr 等。这些插件通过JavaScript和CSS实现,可以与HTML5的`...
3月5日学习雷锋日活动方案 (5).docx
11月5日-7日体育场安全系统保卫方案设计1.doc
个人看来,这些插件存在的两个显而易见的问题,第一是过重的依赖,对于jQuery的插件,已经强制依赖了80多k的庞然大物,把很多移动端项目拒之门外;第二是太过强大的功能,很多插件花百分之八十的时间去完善插件百分...
3月5日学习雷锋日活动方案 (4).docx
11月5日学雷锋日活动方案20XX年.docx
为了更好地满足广大消费者的需求,小米决定在9月5日开启新一轮的小米手机预订活动。本次预订旨在通过有序的方式分配即将在10月份上市的新款小米手机,以确保公平公正地服务于每一位热爱小米的用户。 #### 二、预订...
北京邮电大学01-04年 考研 通信原理试卷及答案
Android Studio Bumblebee 2021.1.1 Patch 2 (android-studio-2021.1.1.22-linux...Android Studio Bumblebee RC 1 available 发布时间:2022年1月5日 Android Studio Bumblebee Beta 5 available 发布时间:2021年12月
XX年3月5日学习雷锋思想汇报 (5) .docx
23. 小寒 (Lesser Cold):虽名为小寒,但已是全年最寒冷的时期之一,1月5日、6日或7日。 24. 大寒 (Greater Cold):一年中最冷的时候,1月20日或21日。 了解二十四节气的英文表达,有助于与国际友人分享中国传统...
- **清明节**:2019年4月5日,农历三月初一。 - **劳动节**:2019年5月1日,农历三月廿七。 - **端午节**:2019年6月7日,农历五月初五。 - **中秋节**:2019年9月13日,农历八月十五。 - **国庆节**:2019年10月1日...
Android Studio Bumblebee 2021.1.1 Patch 1 (android-studio-2021.1.1.21-...Android Studio Bumblebee RC 1 available 发布时间:2022年1月5日 Android Studio Bumblebee Beta 5 available 发布时间:2021年12月
例如,假设一个项目从2022年1月1日开始,计划进行10个工作日,且2022年1月1日是周五,1月2日和1月3日是周末,1月4日是新年假期,那么实际开始工作的日期是1月5日。计算结束日期时,我们需要排除1月7日(周六)和1月8...