Hibernate中编程式事物的简单使用
一,openSessioin方式开启或者关闭事物
Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();//开启事务 //TODO:各类CRUD操作 session.getTransaction().commit(); //提交事务
} catch (Exception e) {
e.printStackTrace();
session.getTransaction().rollback(); //出错回滚
} finally {
HibernateUtils.closeSession(session); //关闭session
}
使用这样的方式开启和关闭事物。可是考虑到我们的事物一般都是在Service层开启或者关闭的。而service里面在调用Dao层方法的时候。大部分情况下。都是调用多个方法。即一对多的调用。要想保证我每次开启事务的时候。用的都是一个Session。上面这样的简陋的方法就不行了。
二。getCurrentSession使用事物
1。加入使用currentSession的配置
<property name="hibernate.current_session_context_class">thread</property><!-- 将session放到threadLoacl里面 -->
2,替换getSession方法
对与例如以下图。当中要在单元測试类中加入測试用户方法:
aaarticlea/png;base64,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" alt="" />
代码:
aaarticlea/png;base64,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" alt="" height="394" width="641" />
每次获取session的时候。使用getCurrentSession方法,获取当前线程使用的Session。相同,在加入log的时候
aaarticlea/png;base64,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" alt="" />
也使用上面方法获取session,这样就能保证我一连串的CRUD操作的时候,使用的是一个Session。
小结:
*openSession是必需要关闭session的,而currentSession是在事务结束之后自己主动关闭session
*opsenSession没有和当前线程绑定,currentSession和当前线程绑定了
*使用currentSession的时候需要在hibernate的配置文件里进行配置
Hibernate中编程式事物的简单使用的更多相关文章
- Spring事务管理的另一种方式--TransactionTemplate编程式事务管理简单入门
1, 一直以来, 在用Spring进行事物管理时, 只知道用声明式的策略, 即根据不同的数据源, 配置一个事物管理器(TransactionManager), 通过配置切面(PointCut)应用到相 ...
- spring 事物(二)—— 编程式事物实现与扩展
简介 使用TransactionTemplate 不需要显式地开始事务,甚至不需要显式地提交事务.这些步骤都由模板完成.但出现异常时,应通过TransactionStatus 的setRollback ...
- spring中编程式事务控制
step1:配置xml文件 <!-- 事务管理bean --> <bean id="transactionManager" class="org.spr ...
- 【spring 6】Spring和Hibernate的整合:编程式事务
一.编程式事务简介 在 Spring 出现以前,编程式事务管理对基于 POJO 的应用来说是唯一选择.用过 Hibernate 的人都知道,我们需要在代码中显式调用beginTransaction() ...
- 阶段3 2.Spring_10.Spring中事务控制_9 spring编程式事务控制1-了解
编程式的事物控制,使用的情况非常少,主要作为了解 新建项目 首先导入包坐标 复制代码 这里默认值配置了Service.dao和连接池其他的内容都没有配置 也就说现在是没有事物支持的.运行测试文件 有错 ...
- Spring中声明式事务处理和编程式事务处理的区别
编程式事务:所谓编程式事务指的是通过编码方式实现事务,即类似于JDBC编程实现事务管理.管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManag ...
- 关于HttpSession 和 Hibernate框架中 session异同点的简单解析
快速理解: HttpSession中的session是一个容器用来盛基于会话机制的信息. 比喻:我把钱放进银行的保险柜里. 解析:我的钱就是我的信息,ID等 银行的保险柜就是session容器. Hi ...
- vue-router中参数传递 && 编程式导航 && 坑 && beforeRouteEnter
第一部分: vue-router参数传递 通过router-link我们可以向路由到的组件传递参数,这在我们实际使用中时非常重要的. 路由: { path:"/DetailPage" ...
- vue中声明式导航和编程式导航
官方文档:https://router.vuejs.org/zh-cn/essentials/navigation.html 声明式导航和编程式导航 共同点: 都能进行导航,都可以触发路由,实现组件切 ...
随机推荐
- ArcSDE学习笔记--------增、删、改、查操作
建立连接 package org.lq.ssm.gp.controller; import com.esri.sde.sdk.client.SeConnection; import com.esri. ...
- [Python] Slice the data with pandas
For example we have dataframe like this: SPY AAPL IBM GOOG GLD 2017-01-03 222.073914 114.311760 160. ...
- 1.Apache Axis配置文件WSDD详解
转自:https://jyao.iteye.com/blog/1285516 1. Aapche Axis的Web Service Deployment Descriptor(WSDD)文件参考文档. ...
- pig安装配置
pig的安装配置很简单,只需要配置一下环境变量和指向hadoop conf的环境变量就行了 1.上传 2.解压 3.配置环境变量 Pig工作模式 本地模式:只需要配置PATH环境变量${PIG_HOM ...
- 如何更改jar包源码
首先将你要更改的源码文件在eclipse中编译成.class文件 再找到你需要更改的.jar包 在桌面右键新建个文件夹把你要改的.jar包ctrl+c和ctrl+v 准备好一个压缩工具(这里推荐234 ...
- How Blink works
How Blink works Author: haraken@ Last update: 2018 Aug 14 Status: PUBLIC Working on Blink is not eas ...
- 光纤收发器TR-962D/932D的面板指示灯及开关代表的含义?
指示灯含义说明:POWER(绿色):“常亮”表明光纤收发器处于通电状态:LFP指示灯: “常亮”表明LFP功能开启,“常灭”表示LFP功能关闭:FX_LINK/ACT(绿色):“常亮”表明光纤端口连接 ...
- 在Windows下如何创建虚拟环境(默认情况下)
很多小伙伴平时在使用Python的时候,有的项目需要使用Python2来进行开发,有的项目则是需要Python3来进行开发.当不清楚怎么分开环境的时候,此时两个环境开始打架,彼此傻傻分不清楚.虚拟环境 ...
- 使用Excel VBA(快捷键)(加菜单)
将excel宏安全性调到中: 按alt+f11进入vba编辑器: 记住以下快捷键: F7 代码窗口 F4 属性窗口 ctrl+R 工程资源窗口 F5 程序运行 TAb 代码缩进 SHIFT+TAB ...
- How Javascript works (Javascript工作原理) (十二) 网络层探秘及如何提高其性能和安全性
个人总结:阅读完这篇文章需要20分钟,这篇文章主要讲解了现代浏览器在网络层传输所用到的一些技术, 应当对 window.performance.timing 这个API所有了解. 这是 JavaScr ...