org.hibernate.HibernateException: No Session found for current thread

问题描述

hibernate:4.1.6spring:4.0.1 工程启动没错,进入getAllUser页面获得数据库用户信息时报如下错误:  严重: Servlet.service() for servlet springMVC threw exceptionorg.hibernate.HibernateException: No Session found for current threadat org.springframework.orm.hibernate4.SpringSessionContext.currentSession(SpringSessionContext.java:106)at org.hibernate.internal.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:941)at com.mlf.web.controller.dao.UserDAO.getAllUser(UserDAO.java:27)at com.mlf.web.controller.service.UserManager.getAllUser(UserManager.java:28)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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)at $Proxy19.getAllUser(Unknown Source)at com.mlf.web.controller.UserController.getAllUser(UserController.java:36)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.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:214)at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:690)at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945)at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:149)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:879)at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:617)at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1760)at java.lang.Thread.run(Thread.java:619)-----------------------------------------------------------------------------------------------------------------------------------------hibernate.cfg.test.xml(com.mlf.web.controller.hibernate) <?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration> <session-factory> <mapping class="com.mlf.web.controller.entity.User"/> </session-factory></hibernate-configuration> ----------------------------------------------------------------------------------------------------------------------------------------- applicationContext.xml(com.mlf.web.controller.spring) <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd" [<!ENTITY contextInclude SYSTEM "org/springframework/web/context/WEB-INF/contextInclude.xml">]><beans><bean id="userDao" class="com.mlf.web.controller.dao.UserDAO"><property name="sessionFactory" ref="sessionFactory"></property></bean><bean id="userManagerBase" class="com.mlf.web.controller.service.UserManager"><property name="userDao" ref="userDao"></property></bean><bean id="userManager" parent="transactionBese"><property name="target" ref="userManagerBase"></property></bean></beans>  ----------------------------------------------------------------------------------------------------------------------------------------- spring-annotation.xml(包:config) <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"><!-- 扫描包 --><context:component-scan base-package="com.mlf.web.controller"></context:component-scan><!-- 开启注解 --><mvc:annotation-driven/><!-- <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"></bean><bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"></bean> --><!-- 静态资源访问 --><mvc:resources location="/img/" mapping="/img/**"/><mvc:resources location="/js/" mapping="/js/**"/><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/"></property><property name="suffix" value=".jsp"></property></bean><!-- 配置文件上传解析器 --><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="defaultEncoding" value="utf-8"/><!-- 文件最大值 --><property name="maxUploadSize" value="10485760000"/><!-- 缓存大小 --><property name="maxInMemorySize" value="40960"/></bean></beans>   ----------------------------------------------------------------------------------------------------------------------------------------- spring-core.xml(包:config) <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd" [<!ENTITY contextInclude SYSTEM "org/springframework/web/context/WEB-INF/contextInclude.xml">]><beans><import resource="classpath:com/mlf/web/controller/spring/applicationContext.xml"/></beans>    ----------------------------------------------------------------------------------------------------------------------------------------- spring-hibernate.xml(包:config) <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd" [<!ENTITY contextInclude SYSTEM "org/springframework/web/context/WEB-INF/contextInclude.xml">]><beans><bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"></property><property name="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncodeing=utf-8"></property><property name="username" value="root"></property><property name="password" value="donny2014"></property></bean><bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"><property name="dataSource" ref="dataSource"></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop><!-- 自动更新 --><prop key="hibernate.hbm2ddl.auto">update</prop><!-- 在控制台打印SQL语句 --><prop key="hibernate.show_sql">true</prop><!-- 将SQL脚本进行格式化后再输出 --><prop key="hibernate.format_sql">true</prop></props></property><property name="configLocations"><list><value>classpath:com/mlf/web/controller/hibernate/hibernate.cfg.test.xml</value></list></property></bean><bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory"></property></bean><!-- 配置事务 --><bean id="transactionBese" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" lazy-init="true" abstract="true"><property name="transactionManager" ref="transactionManager"></property><property name="transactionAttributes"><props><prop key="add*">PROPAGATION_REQUIRED,-Exception</prop><prop key="update*">PROPAGATION_REQUIRED,-Exception</prop><prop key="insert*">PROPAGATION_REQUIRED,-Exception</prop><prop key="modify*">PROPAGATION_REQUIRED,-Exception</prop><prop key="delete*">PROPAGATION_REQUIRED,-Exception</prop><prop key="get*">PROPAGATION_NEVER</prop></props></property></bean></beans>     ----------------------------------------------------------------------------------------------------------------------------------------- UserController.java(包:com.mlf.web.controller) package com.mlf.web.controller;import java.util.List;import javax.annotation.Resource;import javax.servlet.http.HttpServletRequest;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import com.mlf.web.controller.entity.User;import com.mlf.web.controller.service.IUserManager;@Controller@RequestMapping("/user")public class UserController {@Resource(name="userManager")private IUserManager userManager;@RequestMapping("/toAddUser")public String toAddUser(){return "/addUser";}@RequestMapping("/addUser")public String addUser(User user){userManager.addUser(user);return "/success";}@RequestMapping("/getAllUser")public String getAllUser(HttpServletRequest request){List<User> user = userManager.getAllUser();request.setAttribute("user", user);return "/userManager";}}

解决方案

没发userDao啊在getAllUser方法上加Transactional注解如果没有事务,刚开始的线程上下文是拿不到session的
解决方案二:
把WEB XML发上来看看呗

时间: 2024-07-30 15:00:11

org.hibernate.HibernateException: No Session found for current thread的相关文章

Spring事务总是报org.hibernate.HibernateException: No Session found for current thread

问题描述 今天搞了一下spring mvc的注解,弄到数据库的时候,向数据库中存数据没办法存入成功,看一下错误代码是org.hibernate.HibernateException: No Session found for current thread,网上找了一些方法一直没解决,哪位帮忙看一下,代码如下 applicationContext-db.xml代码: <?xml version="1.0" encoding="UTF-8"?> <be

集成shiro 出现org.hibernate.HibernateException: No Session found for current thread

问题描述 在Realm中,方法doGetAuthenticationInfo,通过sysUserService查询,执行正常方法doGetAuthorizationInfo,也是通过sysUserService查询,结果会报错:org.hibernate.HibernateException:NoSessionfoundforcurrentthread同个类中,为什么一个正常,一个会报session找不到请各位大侠帮忙指点!web.xml<filter><filter-name>s

错误异常:org.hibernate.HibernateException: No Session found for current thread,求助

问题描述 HTTPStatus500-NoSessionfoundforcurrentthreadtypeExceptionreportmessageNoSessionfoundforcurrentthreaddescriptionTheserverencounteredaninternalerrorthatpreventeditfromfulfillingthisrequest.exceptionorg.hibernate.HibernateException:NoSessionfoundfo

org.hibernate.HibernateException: No Session found for current thread[附web.xml]

问题描述 hibernate:4.1.6spring:4.0.1工程启动没错,进入getAllUser页面获得数据库用户信息时报如下错误:严重:Servlet.service()forservletspringMVCthrewexceptionorg.hibernate.HibernateException:NoSessionfoundforcurrentthreadatorg.springframework.orm.hibernate4.SpringSessionContext.current

ssh整合-使用spring3.X+Hibernate4.X来做项目,报异常 No Session found for current thread

问题描述 使用spring3.X+Hibernate4.X来做项目,报异常 No Session found for current thread org.hibernate.HibernateException: No Session found for current thread at org.springframework.orm.hibernate4.SpringSessionContext.currentSession(SpringSessionContext.java:97) at

spring3.2+hibernate4.2 整合 spring security报No Session found for current thread

问题描述 public class SpringSecurityMetaDataSource implements FilterInvocationSecurityMetadataSource {//@Resource(name = "resourceDao")private ResourceDao resourceDao;private static Map<String, Collection<ConfigAttribute>> resourceMap =

spring MVC No Session found for current thread

项目使用springframework 3.2.3.RELEASE,hibernate 4.2.2.Final,使用spring MVC 项目名:exam3 使用数据库:MySQL 和数据库交互时报错: Xml代码   严重: Servlet.service() for servlet [spring2] in context with path [/exam3] threw exception [Request processing failed; nested exception is or

Hibernate中的session的save方法。

问题描述 Hibernate中的session的save方法. 我正在学习hibernate框架,然后在做一个插入的时候遇到了一个问题.通过跟踪我发现在执行session.save(obj);方法时,程序就不动了.并且在获取session时还打印出下面红色的信息. 请问一个是什么原因以及怎么解决呢? public int insertClient(Client client) { // TODO Auto-generated method stub //HibernateUtil.closeSe

org.hibernate.HibernateException: No CurrentSessio

org.hibernate.HibernateException: No CurrentSessionContext configured! 错误,解决方法: hibernate.cfg.xml中添加:        <!-- Enable Hibernate's automatic session context management -->         <property name="current_session_context_class">thre