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日农业银行面经 金融类.doc
上士信誉保证1月5日·最新过检测WPE·无须屏蔽软件
19年1月5日托福独立口语考试机经预测1.docx
19年1月5日托福独立写作考试机经预测题1.docx
19年1月5日托福独立口语考试机经预测3.docx
19年1月5日托福独立口语考试机经预测2.docx
1月5日托福口语_写作回忆机经和范文解析.pdf
19年1月5日托福独立写作考试机经预测题4.docx
19年1月5日托福独立写作考试机经预测题3.docx
19年1月5日托福独立写作考试机经预测题2.docx
锐理数据-2021年青岛房地产市场总结(2022年1月5日)-112页.pdf
参考资料-2011年1月5日杭州市淳安县绿城·千岛湖玫瑰园项目排屋样板房室内精装修工程招标文件.zip
可以用的 我测试了的耶 一个60多天 一个半年 还有个256天 皆可用 下载后,如果过期请留言 我将每天更新 或者QQ临时聊天:707112588
锡特卡天气图这是阿拉斯加锡特卡 2014 年 1 月 5 日的天气数据,其中包含当天的最高气温和最低气温,还有众多其他数据。
1月5日已更新 修复自动完成文本框焦点移失,自动完成容器不能消失的bug 增加expandAllItem方法,双击时可出现全部的item,详情请看示例 增加customStyle示例,该示例演示了如何对autocomplete控件进行css美化,见...
12月5日月考试题1.doc
备注 2020年11月5日1
JSP实验5(10月6日)的源程序: 1.计时器 2.response对象的重定向功能。 3.练习加法的网页
3月5日学习雷锋日活动方案 (5).docx
2018年12月5日 A neat net time together1