依据错误原理解决Hibernate执行出现No CurrentSessionContext configured!错误
(1)异常信息例如以下:
- 严重: Servlet.service() for servlet action threw exception
- java.lang.RuntimeException: <u>No CurrentSessionContext configured!</u>
- at com.lc.utils.HibernateUtil.executeQuery(HibernateUtil.java:56)
- at com.lc.service.UsersService.checkUser(UsersService.java:22)
- at com.lc.struts.action.LoginAction.login(LoginAction.java:38)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- at java.lang.reflect.Method.invoke(Method.java:597)
- at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)
- at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
- at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
- at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
- at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
- at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
- at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
- at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
- at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
- at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
- at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
- at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
- at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
- at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
- at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
- at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
- at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
- at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
- at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
- at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
- at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
- at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
- at java.lang.Thread.run(Thread.java:619)
(2)启动调试找到问题原因所在:
问题出错的根本是:No CurrentSessionContext configured! (当然下边的错误解释肯定是非常多的!)
表示:没有CurrentSession上下文配置! 这就想到了我们在利用CurrentSession的时候,事实上就是getCurrentSession的时候没有在hibernate.cfg.xml文件里配置!
(3)解释原理:
1、在 SessionFactory(会话工厂)启动的时候。Hibernate 会依据配置创建对应的 CurrentSessionContext,
在getCurrentSession()被调用的时候,实际被运行的方法是 CurrentSessionContext.currentSession()。
2、这里的“依据配置”就是例如以下配置:
* 假设使用的是本地事务(jdbc事务 本地事务:数据库仅仅有一个)
- <property name="hibernate.current_session_context_class">thread</property>
* 假设使用的是全局事务(jta事务 全局事务:数据库有多个)
- <property name="hibernate.current_session_context_class">jta</property>
(4)所以解决这个问题的办法就是依据需求在hibernate.cfg.xml文件里加上上边的配置就可以!
注:转载请注明出处!
!
依据错误原理解决Hibernate执行出现No CurrentSessionContext configured!错误的更多相关文章
- SQL SERVER 2008:内部查询处理器错误: 查询处理器在执行过程中遇到意外错误
今天一个同事突然告诉我,以前跑得很正常的一个SQL语句,执行时突然报如下错误: 消息1222,级别16,状态18,第1 行 已超过了锁请求超时时段. ...
- 解决:执行python脚本,提示错误:/usr/bin/python^M: 解释器错误: 没有那个文件或目录。
执行python脚本,提示错误: /usr/bin/python^M: 解释器错误: 没有那个文件或目录. 产生错误原因: \r字符被显示为^M,这时候只需要删除这个字符就可以了. Linux环境下: ...
- ORA-12560: TNS: 协议适配器错误的解决方法
ORA-12560: TNS: 协议适配器错误的解决方法 造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个: 1.监听服务没有起起来.windows平台个一如下操作:开始---程序 ...
- [转]权限问题导致Nginx 403 Forbidden错误的解决方法
权限问题导致Nginx 403 Forbidden错误的解决方法 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014-08-22 这篇文章主要介绍了权限问题导致Nginx 403 F ...
- Xcode常见的编译、运行等错误的解决
Xcode常见的编译.运行等错误的解决 项目没找到Info.plist的错误 The solution for this particular instance of the error was “I ...
- 微信分享链接出现config:invalid signature错误的解决方法
首先贡献jssdk下载地址:http://demo.open.weixin.qq.com/jssdk/sample.zip 不建议大家在*SDN上花钱买积分下载 当开发微信时需要做特定的页面做分享时 ...
- Web Server IIS7部署网站常遇到的错误及解决办法
IIS7部署网站常遇到的错误及解决办法 经常遇到问题: 1.错误:403.14-Forbidden Web 服务器被配置为不列出此目录的内容及Login on failed for "IIS ...
- 常见Hibernate报错处理:出现“org.hibernate.QueryException: could not resolve property”和 is not mapped和could not locate named parameter错误的解决
正确写法: @Override @SuppressWarnings("unchecked") public List<Device> queryOSDevice(Str ...
- 用JDBC编程的执行时错误及其解决大全
用JDBC编程的执行时错误及其解决 用JDBC编程的执行时错误及其解决 源码: .java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlser ...
随机推荐
- Laravel5.5新特性
1.新的报错页面 报错更加美观,并标记显示出错误的代码 2.包的自动配置 在conposer.json文件中加入包中的配置,下载后就会自动配置到app.php 文件中,使用更方便 在之前的 Larav ...
- rhel 6.5 yum源的配置
https://blog.csdn.net/error_0_0_/article/details/54962199
- axis2
下载axis2-1.5.4-bin.zip文件并解压. 设置axis2的环境变量,如下图所示: 利用axis2中的wsdl2java.bat生成客户端程序. 先启动Tomcat7并在IE里运行http ...
- 【互动问答分享】第11期决胜云计算大数据时代Spark亚太研究院公益大讲堂
Q1:docker成熟度如何? Docker是2013年和2014年最火爆的云计算开源项目: Baidu公司是中国使用Docker最为深入和最大规模的公司,线上稳定运行数十万个Docker容器,目前已 ...
- HDU 1159.Common Subsequence-最长公共子序列(LCS)
Common Subsequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- qt资源下载网站
1. 所有Qt版本下载地址: http://download.qt.io/archive/qt/ 2. 所有Qt Creator下载地址: http://download.qt.io/archive/ ...
- 数据排序 第一讲( 各种排序方法 结合noi题库1.10)
选择排序 1.基本思想:每一趟从待排序的数据元素选出最小或最大的一个元素,数按序排放在待排序的元素的最前端,直到全部待排序的元素排完 2.基本代码 px(int r[]) { ;i<n;i++) ...
- POJ1325Machine Schedule(匈牙利算法)
Machine Schedule Time Limit: 1000MS Memory L ...
- 3、Django实战第3天:数据建模
users modesl.py设计 UserProfile 用户信息 EmailVerifyRecord 验证码 Banner 轮播图 之前我们生成了Django默认的数据表,里面有张表示auth-u ...
- SQL Loader with utf8
alter this line in your control file characterset UTF8 to this characterset UTF8 length semantics ch ...