zoukankan      html  css  js  c++  java
  • Spring framework3.2整合hibernate4.1报错:No Session found for current thread

    <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 
    <property name="dataSource" ref="dataSource" /> 
    </bean> 
    <tx:advice id="txAdvice" transaction-manager="txManager"> 
    <tx:attributes> 
    <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="*" read-only="true" /> 
    </tx:attributes> 
    </tx:advice> 
    
    <aop:config proxy-target-class="true"> 
    <aop:advisor advice-ref="txAdvice" pointcut="execution(* net.noday..service..*.*(..))" /> 
    </aop:config>

    getCurrentSession需要做如下配置:

    <propertyname="current_session_context_class" >thread</property>

    1. 前者打开一个新的,后者当前有session的话,则是使用当前的session,没有的话则创建一个新的;

    2. 如果使用前者获得一个session的话,需要手动关闭session,使用后者,当事务提交,session会自动关闭,如果再关闭session则会报如下异常:Session has already closed;

    3. sf.getCurrentSession方法需要在hibernate.cfg.xml做如下配置:

        <propertynamepropertyname="current_session_context_class" >thread</property>  

    没有配置的话会报如下异常:org.hibernate.HibernateException:No CurrentSessionContext configured!

  • 相关阅读:
    HDU 5302(Connect the Graph- 构造)
    Redis 集群
    HDFS集中式缓存管理(Centralized Cache Management)
    JavaScript语言基础12
    【IOS】启动画面
    小贝_mysql优化学习
    hdu2099 整除的位数(暴力)
    Receiver type ‘X’ for instance message is a forward declaration
    动态游标(比如表名作为參数)以及动态SQL分析
    mongodb与SQL相应关系表
  • 原文地址:https://www.cnblogs.com/exmyth/p/3184061.html
Copyright © 2011-2022 走看看