Session session = this.getHibernateTemplate().getSessionFactory().openSession();
Transaction tx = session.beginTransaction();
try{
List<BtapplyDetail> list = this.getPrintTask(session,fileName,teller);//获取记录
boolean flag = this.updateTable(session,"BtapplyDetail", hm,condition);//更新数据
tx.commit();
}catch(Exception e){
tx.rollback();
}finally{
if(null!=session && session.isOpen()){
session.close();
}
}请问这样关闭session会出问题吗?为什么?
Transaction tx = session.beginTransaction();
try{
List<BtapplyDetail> list = this.getPrintTask(session,fileName,teller);//获取记录
boolean flag = this.updateTable(session,"BtapplyDetail", hm,condition);//更新数据
tx.commit();
}catch(Exception e){
tx.rollback();
}finally{
if(null!=session && session.isOpen()){
session.close();
}
}请问这样关闭session会出问题吗?为什么?
解决方案 »
- 登陆界面文本框提示怎么搞
- 请教各位高手跟踪操作实现的方法
- com.microsoft.sqlserver.jdbc.SQLServerException: '=' 附近有语法错误。
- Lucene检索中文拼音问题
- 关于hibernate-Memcached的几点疑问?
- 请大虾帮我看看一个hibernate的问题?
- csv格式的文件怎么转换成xml文件?有什么API可用吗
- ireport设计报表的问题
- 做个函数 ,实现数组插入功能,返回类型 String数组,参数2个,第一个String(被插入的对象),第二个int参数(数组被插入的位置)
- 怎么用令牌类去除第二次提交的数据
- jsp页面给action传值中文乱码
- spring security
另
}catch(Exception e){
tx.rollback(); // 回滚语句可以不用,因为出现异常时就不会提交
}finally{
if(null!=session && session.isOpen()){ // null != xxx这种写法C,C++常用,Java中不是太多,楼主莫非C++高手?呵呵
session.close();
}
his.updateTable(session,"BtapplyDetail", hm,condition);//更新数据
用spring配置事务处理就行了么
这个方法是我自己封装的一个方法。不是hibernate自带的
this.getHibernateTemplate().getSessionFactory().closeSession();