`
zhouchaofei2010
  • 浏览: 1097586 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SSH中Transaction not successfully started解决方法

 
阅读更多
SSH中Transaction not successfully started解决方法
2009年01月04日 星期日 下午 12:15

org.springframework.transaction.TransactionSystemException: Could not commit Hibernate transaction; nested exception is org.hibernate.TransactionException: Transaction not successfully started
最近在写操作CLOB的过程中总是报这个异常,数据去插入进去了.

 

先看看SessionFactory.getCurrentSessionopenSession区别
1. 如果使用的是getCurrentSession来创建session的话,在commit后,session就自动被关闭了,
    也就是不用再session.close()了。但是如果使用的是openSession方法创建的session的话,
    那么必须显示的关闭session,也就是调用session.close()方法。这样commit后,session并没有关闭
/*2. getCurrentSession的使用可以参见hibernate\hibernate-3.2\doc\tutorial\src项目
3. 使用SessionFactory.getCurrentSession()需要在hibernate.cfg.xml中如下配置:
   * 如果采用jdbc独立引用程序配置如下:
    <property name="hibernate.current_session_context_class">thread</property>
   * 如果采用了JTA事务配置如下
    <property name="hibernate.current_session_context_class">jta</property>*/

开始用的:

Session session = this.getHibernateTemplate().getSessionFactory().getCurrentSession();
Transaction tran=session.beginTransaction();

好多文章里都说只需在Spring配置<bean id="sessionFactory"...---><property name="hibernateProperties">   中加入 <prop key="hibernate.current_session_context_class">thread</prop>就可以解决,试了没用.

修改后的:

Session session = this.getHibernateTemplate().getSessionFactory().openSession();

Transaction tran=session.beginTransaction();

......

finally
   {   
    session.close();   
   }

问题解决

 

分享到:
评论

相关推荐

    Could not roll back Hibernate transaction.doc

    Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed 这表明Hibernate事务回滚操作失败,导致事务不能正确回滚。 二、问题原因 该问题的...

    SSH中Hibernate所需基本jar包

    在SSH项目中,正确配置Hibernate的jar包是确保数据库操作顺利进行的关键步骤。 该压缩包“SSH中Hibernate所需基本jar包”包含了运行Hibernate所必需的库文件,这些文件通常会包括以下几类: 1. **Hibernate核心库*...

    在SSH中使用事物包括SSH的搭建和配置;事物的配置;注释详细

    在SSH(Struts2、Spring、Hibernate)框架组合中,事务管理是确保数据一致性与完整性的关键机制。SSH是一个常见的Java Web开发栈,用于构建高效、模块化且可维护的应用程序。下面我们将深入探讨SSH中的事务管理和...

    SSH框架的常见问题和解决方法

    SSH框架的常见问题和解决方法 SSH框架是Java领域中非常流行的持久化框架,它提供了强大的数据访问能力和灵活的映射机制。下面我们将讨论SSH框架的常见问题和解决方法。 1、Hibernate工作原理及为什么要用? ...

    javax.transaction-api-1.2-API文档-中文版.zip

    赠送jar包:javax.transaction-api-1.2.jar; 赠送原API文档:javax.transaction-api-1.2-javadoc.jar; 赠送源代码:javax.transaction-api-1.2-sources.jar; 赠送Maven依赖信息文件:javax.transaction-api-1.2....

    javax.transaction-api-1.2-API文档-中英对照版.zip

    赠送jar包:javax.transaction-api-1.2.jar; 赠送原API文档:javax.transaction-api-1.2-javadoc.jar; 赠送源代码:javax.transaction-api-1.2-sources.jar; 赠送Maven依赖信息文件:javax.transaction-api-1.2....

    C#中调用Transaction

    本文将深入探讨“C#中调用Transaction”的相关知识点,包括事务的基本概念、事务的特性、如何在C#代码中创建和管理事务,以及与数据库交互时事务的应用。 ### 1. 事务基本概念 事务是数据库操作的一组逻辑单元,它...

    There is no active transaction解决

    之前一直找原因,最后知道了解决方法,具体请下载源码查看。特别是用到throw的事务中

    Transaction Timeout(解决方案).md

    Transaction Timeout(解决方案).md

    javax.transaction.jar

    【javax.transaction.jar】是Java平台上的一个核心组件,主要用于处理分布式环境中的事务管理。这个库包含了一组接口和类,这些接口和类定义了事务管理的API,使得开发者能够在Java应用程序中实现事务处理的规范。在...

    ssh中getCurrentSession的使用

    在描述中提到的"ssh中getCurrentSession的使用",实际上可能是指在SSH集成框架中使用Hibernate框架时,获取数据库会话(Session)的方法。 在Hibernate中,`getCurrentSession()`是SessionFactory类的一个方法,它...

    SSH2中select下拉框的用法

    在SSH2(Spring、Struts2、Hibernate2)框架中,`select`下拉框是网页表单中常用的一种元素,用于提供用户选择一个或多个选项的界面。它通常与后端服务进行交互,用于从服务器获取数据并显示在前端。在本教程中,...

    ssh用到的jar包

    SSH(Struts2、Spring、Hibernate)是Java开发中常用的一种技术栈,主要用于构建企业级Web应用程序。这个压缩包中的jar文件是这三个框架的核心库,对于理解和使用SSH框架至关重要。以下将详细介绍这些框架以及它们...

    SSH框架中构建hibernate必须的包

    SSH框架,全称为Spring、Struts和Hibernate,是Java Web开发中的一个经典组合。这个框架集合了Spring的IoC(Inversion of Control)和AOP(Aspect Oriented Programming)功能,Struts的MVC(Model-View-Controller...

    maven的jetty插件提示No Transaction manager found导致启动慢的解决方法

    在使用maven开发web项目极大地方便了jar包的依赖,在测试时也可以集成Servlet容器,从启动速度和量级上看,Jetty无疑是不二选择,然而从8.x开始,如果你的web项目中不包含数据库访问(或者说没有事务管理器)的话,...

    SSH框架中关于EXCEL表格导入到MySQL数据库

    在这个特定的场景中,我们要探讨如何在SSH框架下将Excel表格数据导入到MySQL数据库。这个过程涉及到几个关键的技术点,包括文件读取、数据解析、数据库操作以及异常处理。 首先,我们需要使用Java API来读取Excel...

    Principles of transaction processing

    根据提供的文件信息,可以提炼出以下与“Principles of transaction processing”相关的知识点: 1. 事务处理的原理 事务处理系统是计算机系统的一个重要组成部分,它涉及到如何高效、安全地处理各种事务。事务处理...

    一个SSH项目

    通过分析源码,可以深入理解SSH框架如何在实际项目中协同工作,以及如何解决特定业务场景下的问题。 “工具”标签可能暗示项目中使用了一些辅助开发的工具,如IDE、版本控制系统(如Git)、构建工具(如Maven或...

    ssh-aop笔记

    SSH整合中,通常通过Struts的ActionForm接收表单数据,然后调用Service层的方法,Service层再通过Hibernate操作数据库。 **7. SSH-AOP整合示例** 在SSH-AOP整合中,我们通常会创建一个切面类,定义切点和通知。例如...

Global site tag (gtag.js) - Google Analytics