`
nvry
  • 浏览: 319668 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Transaction not successfully started错误的解决方法

阅读更多

public class TOpenSessionInViewFilter extends OpenSessionInViewFilter {

    public Jacn_OpenSessionInViewFilter() {
        super.setFlushMode(FlushMode.AUTO);
    }

    protected void commitSession(Session session){
        session.getTransaction().commit();
    }
    protected void closeSession(Session session, SessionFactory sessionFactory) {
        session.flush();
        try {
            commitSession(session);
        } catch (HibernateException e) {
            // TODO Auto-generated catch block//
            e.printStackTrace();
        }
       
        super.closeSession(session, sessionFactory);
    }

}

如果递归函数里,有个session.beginTransaction(),或者transaction.commit();的话……就会出现 “Transaction not successfully started”异常……解决办法也很简单,把除了session.beginTransaction();和 transaction.commit();以外的语句拿出来,做个方法,递归那个就好了……

描述:
Exception in thread "main" org.hibernate.TransactionException: Transaction not successfully started

分析:
这 个错误的产生是因为我在保存entity后提交事务用的session.getTransaction().commit()语 句,session.getTransaction()只是根据session获得一个Transaction实例,但是并没有启动它,所以它会告诉你 “Transaction启动失败”(Transaction not successfully started)

解决:
应该用 session.beginTransaction()代替 session.getTransaction(),session.beginTransaction()方法在获得一个Transaction后调用 其begin()方法,如果是请求创建一个新的“受控”Transaction,则启动这个Transaction,否则就直接使用已经存在的“受控 ”Transaction来完成工作。

 

分享到:
评论

相关推荐

    Could not roll back Hibernate transaction.doc

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

    There is no active transaction解决

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

    loadrunner错误分析之transaction事物名不同样

    报错信息中,如果出现事务没有对应的结束声明,错误信息可能是:"Vuser started transaction 'transaction_name', but did not reach a corresponding end transaction statement. The transaction ended ...

    http500内部服务器错误解决方法.txt

    ### HTTP 500 内部服务器错误解决方法 HTTP 500错误是一种常见的Web服务器错误,当服务器遇到无法处理的请求时就会返回此错误。这种错误可能由多种原因引起,包括但不限于服务器配置问题、应用程序错误或者权限设置...

    HTTP 500内部服务器错误的解决方法

    ### HTTP 500 内部服务器错误的解决方法 #### 概述 HTTP 500 错误,也称为“内部服务器错误”,是一种常见的Web服务器错误代码,表示服务器遇到无法处理请求的情况,但没有给出具体原因。这种错误可能源于多种因素...

    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....

    iis错误:500解决方法

    ### iis错误:500解决方法 在处理Windows XP专业版系统中安装IIS 5.1出现的页面无法正常显示的问题时,通常会遇到一个常见的错误代码——500内部服务器错误。本文将详细介绍如何彻底解决这个问题,并确保网站能够...

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

    在使用maven开发web项目极大地方便了jar包的...oejpw.PlusConfiguration:No Transaction manager found - if your webapp requires one, please configure one. 而且启动过程会暂停十几秒,在反复调试代码时很浪费时间

    iis错误Server Application Error的解决方法

    ### iis错误Server Application Error的解决方法 在IT运维领域,遇到IIS(Internet Information Services)中的各种问题是在所难免的。本文将详细介绍一个具体的案例——“Server Application Error”错误的处理...

    javax.transaction.jar

    1. **Transaction**:代表一个事务实体,它包含了事务的开始、提交、回滚以及查询事务状态的方法。 2. **UserTransaction**:这是应用层与事务管理器交互的接口,提供了开始、回滚、提交事务的能力,以及查询当前...

    HibernateSession , Transaction 研究

    3. `rollback()`:如果发生错误或需要回滚更改,可以调用此方法。它会取消事务中的所有更改,恢复到事务开始前的状态。 在实际开发中,通常我们会将`Session`和`Transaction`的使用结合到一个单元操作中,例如在try...

    CALL TRANSACTION USING... 参数祥解

    is not completed by COMMIT),德文原文(COMMIT WORK ist kein Ende bei CALL TRANSACTION USING...),没看明白; * NOBINPT:调用事务码时,系统字段 sy-binpt 的值,有两个值:" "、在被调用事务执行时,系统...

    2771885 - TransactionManager is not ready

    对于这种问题,SAP官方给出的建议通常是查看SAP系统日志,分析错误信息,同时可以参考SAP官方提供的技术支持文档来解决这类问题。如果问题依旧无法解决,可以联系SAP技术支持寻求专业帮助。 在实践中,解决此类问题...

    oracle 错误一览表

    - **解决方法**:根据具体错误信息排查问题,可能需要数据库专家介入。 #### ORA-00021: Unable to allocate shared memory segment - **描述**:无法分配共享内存段。 - **解决方法**:增加内存或调整内存参数。 ...

    Transaction Timeout(解决方案).md

    Transaction Timeout(解决方案).md

    hibernate错误解决方案

    本文将针对几个常见的Hibernate错误进行深入分析,并提供相应的解决方法。这些错误包括但不限于 `org.springframework.orm.ObjectRetrievalFailureException`、`org.springframework.beans.factory....

    Principles of transaction processing

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

    Hibernate_Session_Transaction

    在Java的持久化框架Hibernate中,`Session`和`Transaction`是两个至关重要的概念,它们在数据管理和事务处理中起到核心作用。这篇文章将深入解析这两个概念及其相关知识点。 `Session`是Hibernate提供的一种与...

    Hibernate+Transaction+myeclipse6+事例+工程源码.rar

    《深入理解Hibernate+Transaction在MyEclipse6中的应用实践》 在现代的Java Web开发中,数据持久化是一个至关重要的环节。Hibernate作为一种流行的Object-Relational Mapping(ORM)框架,极大地简化了数据库操作,...

Global site tag (gtag.js) - Google Analytics