报错信息:

org.hibernate.HibernateException: Could not obtain transaction-synchronized Session for current threadat org.springframework.orm.hibernate4.SpringSessionContext.currentSession(SpringSessionContext.java:134)at org.hibernate.internal.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:1041)

这个错误的提示是无法获取当前transaction-synchronized线程的会话
原因是没有为用到了事务的方法定义事务

比如:在Action中定义了该方法,用于删除数据信息操作:

而在applicationContext.xml中是这样设置的:

这表示只有以do和find打头的方法才能事务,其他方法不走事务,删除自然不能成功,于是报上面的错误。

当然,也可能不是上面这么粗心的原因,如果使用了Hibernate4报错的话,可以在web.xml中加入如下配置,程序也可以正常运行了。

<filter>
    <filter-name>SpringOpenSessionInViewFilter</filter-name>
    <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
</filter><filter-mapping>   <filter-name>SpringOpenSessionInViewFilter</filter-name>    <url-pattern>/*</url-pattern></filter-mapping>

网上还看到一种解决方法,针对第二种情况的,测试也可行。
1. 在spring 配置文件中加入
2. 在处理业务逻辑的类上采用注解:<tx:annotation-driven transaction-manager="transactionManager"/>

如:

@Service
public class CustomerServiceImpl implements CustomerService {  @Transactionalpublic void saveCustomer(Customer customer) {customerDaoImpl.saveCustomer(customer);}...
}

错误记录(九)Could not obtain transaction-synchronized Session for current thread相关推荐

  1. Could not obtain transaction-synchronized Session for current thread

    Could not obtain transaction-synchronized Session for current thread hibernate4和5不支持你用hibernate3的 ge ...

  2. Could not obtain transaction-synchronized Session for current thread原因及解决方案

    问题 用sessionFactory.getCurrentSession()这样获取session,抛了这异常. 解决 必须要将使用了sessionFactory.getCurrentSession( ...

  3. 错误记录一:线程通信时抛出Exception in thread “Thread-0” java.lang.IllegalMonitorStateException异常

    错误记录一:线程通信时抛出Exception in thread "Thread-0" java.lang.IllegalMonitorStateException异常 完整异常: ...

  4. php输出mysql错误日志_PHP_PHP中把错误日志保存在系统日志中(Windows系统),【将错误记录到系统日志中】 - phpStudy...

    PHP中把错误日志保存在系统日志中(Windows系统) [将错误记录到系统日志中] 在 php.ini 中将 error_log 设置为: error_log = syslog 或者在运行时使用 i ...

  5. 【错误记录】Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. ② | 升级 Gradle 版本 )

    文章目录 一.报错信息 二.解决方案 解决 Could not determine java version from '11.0.8'. 问题 , 有两种方案 , 方案一 : Android Stu ...

  6. 【错误记录】VMware 虚拟机报错 ( 向 VMWare 虚拟机中的 Ubuntu 系统拷贝文件时磁盘空间不足 ② | 删除交换空间 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 [错误记录]VMware 虚拟机报错 ( 向 VMWare 虚拟机中的 Ubuntu 系统拷贝文件时磁盘空间不足 ) 博客中 , 给出了解决方案 ...

  7. 【错误记录】Ubuntu 修改 hosts 文件 ( 使用 gedit /etc/hosts 命令打开并修改 hosts 文件 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 参考 [错误记录]git clone 报错 ( fatal: unable to access 'https-':gnutls_handshake( ...

  8. 【错误记录】未安装该应用 ( 在 Android 12 之后 组件设置 android:exported=“false“ 属性 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 报错信息 : 点击应用图标后 , 应用并未启动 , 并弹出 " 未安装该应用 " 提示信息 ; 二.解决方案 排查了一下相关地方 ...

  9. 【错误记录】GitHub 网站和仓库无法访问 ( 域名重定向 | 检查 C:\Windows\System32\drivers\etc\hosts 配置文件中的 GitHub 地址域名配置 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在家里的电脑中 , 出现 无法访问 GitHub 网站 , 使用任何手段都无法访问 GitHub ; 二.解决方案 家里的电脑比较乱 , 使用了各种 ...

最新文章

  1. 基于SOA分布式架构的dubbo框架基础学习篇
  2. c#技巧教程(连载)
  3. 图像 DFT 尺寸转换
  4. mybatis逆向工程生成的实体类和表不一致缺少某些字段或者出现其他字段
  5. Quick cocos2dx-Lua(V3.3R1)学习笔记(十)-----搭建安卓打包环境,用官方示例anysdk生成apk运行...
  6. centos6.8 环境一键安装包 nginx配置thinkphp5
  7. android os 偷跑,不测不知道,原来我们的流量每天都在被“偷”走!
  8. Delphi中使用全局钩子
  9. Docker Desktop 安装使用教程
  10. 禁止edge浏览器自动更新
  11. 嵌入式开发-Telink芯片-入门介绍
  12. 字体外面怎么加边框_CSS如何给字体加边框
  13. BTA前瞻 | CyberMiles创始人卢亮:愿拿百万年薪求区块链人才
  14. 文献阅读(10)BNN
  15. 一文详解车道线检测技术分析
  16. WPS文字如何将多个文档快速合并成一个WPS文档?
  17. faststone capture注册码
  18. Visual Studio 2019 fatal error C1001: 内部编译器错误
  19. Qt知识回顾(十)——图形视图、动画和状态机框架
  20. Java单例模式中的线程安全问题

热门文章

  1. 华为5G折叠屏手机Mate X 重新入网,即将上市!
  2. 成也炒作,败也炒作?孙宇晨遭遇最大信任危机
  3. 世界首富如何在商业上取得成功?贝佐斯分享了一些建议
  4. 快安排!QQ更新被吐槽低龄化 但这个功能让微信用户们“羡慕”哭了
  5. 已免押1000亿!芝麻信用:靠信用出去浪
  6. 用在WEB开发中实现会话跟踪实现
  7. 游戏场景设计文档案例_产品经理、设计、运营入门与进阶(132本书籍+需求文档+案例)...
  8. onvif学习笔记6:onvif的OSD坐标小记
  9. Linu移植随笔:由ts_config:Success想到的
  10. 如何在 GitHub 上高效搜索开源项目(转载)