`
冰封之月
  • 浏览: 17952 次
社区版块
存档分类
最新评论

ssh学习(二) No Session found for current thread

阅读更多
Hibernate和spring的版本都是4.x
使用sessionFactory.getCurrentSession()来获取session,报错为
No Session found for current thread

参考:
http://www.sjsjw.com/kf_other/article/244_20894_27402.asp

说明:
<prop key="hibernate.current_session_context_class">thread</prop>
<prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop>


网上说的这两种解决办法根本就不对,如果hibernate.cfg.xml里有配的话先删掉,原因请看上边的那个参考链接

解决办法:
spring bean配置文件中加入:
<!--配置事务管理  -->
	<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"/>
	</bean>	

	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			 <tx:method name="exists" read-only="true" /> 
		<tx:method name="save*" propagation="REQUIRED" />   
       <tx:method name="add*" propagation="REQUIRED" />   
        <tx:method name="create*" propagation="REQUIRED" />   
        <tx:method name="insert*" propagation="REQUIRED" />   
        <tx:method name="update*" propagation="REQUIRED" />   
        <tx:method name="merge*" propagation="REQUIRED" />   
        <tx:method name="del*" propagation="REQUIRED" />   
        <tx:method name="remove*" propagation="REQUIRED" />   
        <tx:method name="put*" propagation="REQUIRED" />   
        <tx:method name="use*" propagation="REQUIRED"/>   
        <!-- hibernate4必须配置为开启事务 否则 getCurrentSession()获取不到    -->
        <tx:method name="get*" propagation="REQUIRED" />   
        <tx:method name="count*" propagation="REQUIRED" read-only="true" />   
        <tx:method name="find*" propagation="REQUIRED" read-only="true" />   
        <tx:method name="list*" propagation="REQUIRED" read-only="true" />  
         <tx:method name="*" propagation="REQUIRED" /> 
			
		</tx:attributes>
	</tx:advice>

	
	<!-- 配置哪些类的方法进行事务管理 -->
	<aop:config proxy-target-class="true">
		<aop:pointcut id="bussinessService" expression="execution(* com.chaos.service.*.*(..))" />
		<aop:advisor pointcut-ref="bussinessService" advice-ref="txAdvice" />
	</aop:config>
	<aop:config proxy-target-class="true">
		<aop:pointcut id="dao" expression="execution(* com.chaos.dao.*.*(..))" />
		<aop:advisor pointcut-ref="dao" advice-ref="txAdvice" />
	</aop:config>


execution里边的包名根据自己项目来修改,配置完后运行正常
分享到:
评论

相关推荐

    SSH学习模板二 SSH学习模板

    SSH学习模板 SSH学习模板 SSH学习模板 SSH学习模板

    ssh学习笔记1 ssh学习笔记1

    ssh学习笔记1 ssh学习笔记1 ssh学习笔记1 ssh学习笔记1 ssh学习笔记1 ssh学习笔记1 ssh学习笔记1

    SSH笔记-管理Session和批量操作数据库

    本笔记主要关注SSH中的Session管理和数据库的批量操作,这在实际开发中是非常关键的部分。 1. **Spring Session管理**: - Spring提供了一种强大的依赖注入(DI)机制,使得我们可以轻松地管理Session。它允许我们...

    ssh2 学习学习

    ssh2 学习学习

    SSH学习笔记3 SSH学习笔记3

    SSH学习笔记3主要聚焦于三个Java企业级开发框架——STRUTS、SPRING和HIBERNATE的集成与应用。这三个框架是Java后端开发中非常重要的组件,它们各自负责不同的层面,共同构建了一个强大的MVC(Model-View-Controller...

    SSH学习笔记4 SSH学习笔记4

    SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记

    SSH学习笔记7 SSH学习笔记7

    SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记

    SSH学习笔记2 SSH学习笔记2

    SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记

    SSH学习笔记9 SSH学习笔记9

    SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记

    SSH学习笔记8 SSH学习笔记8

    SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记 SSH学习笔记

    SSH框架的学习资料

    SSH框架是Java开发中常用的三大框架,包括Struts2、Spring和Hibernate,它们协同工作,为Web应用程序提供了模型-视图-控制器(MVC)架构的支持。这些框架各自有着独特的功能,结合使用能够极大地提高开发效率和代码...

    trilead-ssh2 for java

    《Trilead SSH2 for Java:深度解析与实践指南》 在Java开发中,安全通信是不可或缺的一部分,尤其是在远程操作、文件传输等场景下。Trilead SSH2库为Java开发者提供了一套强大的SSH(Secure Shell)实现,使得在...

    Ganymed SSH-2 for Java

    **Ganymed SSH-2 for Java** 是一个开源库,专为Java开发者设计,用于实现Secure Shell(SSH-2)协议。SSH-2是一种安全的网络协议,用于在网络之间提供加密通信,常用于远程登录、文件传输以及执行远程命令等。...

    SSH框架学习笔记,学习交流

    学习笔记,框架,SSH,学习笔记学习笔记,框架,SSH,学习笔记学习笔记,框架,SSH,学习笔记学习笔记,框架,SSH,学习笔记学习笔记,框架,SSH,学习笔记学习笔记,框架,SSH,学习笔记学习笔记,框架,SSH,学习笔记

    Java SSH 框架整合,学习源码

    6. **学习资源**:"mvn_ssh_01"可能包含的是一个基于Maven构建的SSH项目实例,其中可能包括了配置文件、源代码、测试用例等,是学习SSH整合的好材料。通过分析这个项目,可以更直观地了解SSH如何协同工作,以及如何...

    北大青鸟SSH学习资料

    ### 北大青鸟SSH学习资料知识点解析 #### 一、SSH框架简介 SSH框架是Java Web开发领域中一个非常流行的轻量级开源框架组合,它由Struts2(或Struts1)、Spring以及Hibernate三个部分组成。这些技术分别负责Web层、...

    ssh2学习视频

    SSH2是SSH协议的第二版,相比第一版,它在安全性、性能和功能上都有显著提升。 SSH2学习视频的内容可能涵盖以下几个关键知识点: 1. **SSH原理**:了解SSH的工作方式,包括公钥加密、身份验证、数据加密以及如何...

    ssh-copy-id for windows

    ssh-copy-id for windows,支持windows下的ssh-copy-id命令,加入exe所在路径到PATH环境变量即可

    SSH学习笔记6 SSH学习笔记6

    SSH的学习是任何IT专业人员提升技能的重要部分,尤其对于那些需要频繁进行服务器管理、远程操作或者数据传输的工作者。 首先,SSH的核心功能是加密网络通信,确保数据在传输过程中不被窃取或篡改。它通过公钥基础...

Global site tag (gtag.js) - Google Analytics