Hibernate 错误解决(TransactionException: Transaction not successfully started)

Wi-Fi数据帧类别 QoS 阅读详情

【关键的错误信息】: TransactionException: Transaction not successfully started 和一个doCommit

从该关键字看,是使用Hibernate事务管理器(而不是Spring,下面详细log的绿色字体)处理事务的commit时抛出的,


【具体解决】:

      //下面的代码段会报错

        Session session =  getSessionFactory().getCurrentSession();  
        session.beginTransaction();          //
        String queryString = "update.... "; //具体数据库字段内容的更新
        Query query = session.createQuery(queryString);         
        query.executeUpdate();  
        session.getTransaction().commit(); //应该是这里导致了 org.hibernate.TransactionException: Transaction not successfully started


//改为下面的代码段好了

	Session session =  getSessionFactory().openSession();  
        Transaction tran = session.beginTransaction();   //这么修改后,ok
        String queryString = "update ....";
        Query query = session.createQuery(queryString);  
        query.executeUpdate();  
        tran.commit(); 
        session.close();




【事后诸葛亮】该错误在dao层的一个执行update的语句里面,但该处没有提示错误,而是在调用这个函数的上一级函数要return时抛出的。

1.  可能是session结束时的检查。

2.  没有申请transaction对象,直接使用函数导致了错误?

3.  而且虽然最后报错,但事实上已经成功的修改了数据库(持久化已经完成)。

4.  生搬硬套固然能快速实现,理解透彻才是正道。

5.  这么改可能会影响执行时间,多数据量时可能需要优化。


附:详细的stacktrace:

org.springframework.transaction.TransactionSystemException: Could not commit Hibernate transaction; nested exception is org.hibernate.TransactionException: Transaction not successfully started
at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:660)

Caused by: org.hibernate.TransactionException: Transaction not successfully started
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:130)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:656)
... 77 more


【YOLOv12[基础]】热力图可视化实践 | 脚本升级 | 优化可视化效果 | 论文必备 | GradCAMPlusPlus, GradCAM, XGradCAM, EigenCAM等 热力图可视化实践 | 脚本升级 | 优化可视化效果 | 论文必备 GradCAMPlusPlus, GradCAM, XGradCAM, EigenCAM等 阅读详情

相关推荐

Ubuntu配置Qt Creator树莓派交叉编译环境一步到位

本文详细指导在Ubuntu系统上配置Qt Creator树莓派交叉编译环境。从工具链安装、sysroot创建到Qt库编译,逐步讲解如何搭建完整的ARMv7交叉编译工具链,实现高效开发树莓派应用。

1279

解决Transaction not successfully started 问题

出现场景:这个问题的出现是在数据库配置了事务的前提下由于hibernate.getCurrentSession() 来进行增删改查,出现的。 原因:因为获取当前的session,这个session的上下文属性值hibernate.current_session_context_class 没有默认值导致的。 解决方式: 直接在spring的application.xml配置文件中设置sessionfactory 时添加hibernate.cfg.xml配置文件: <bean id="hi..

u010214773的博客 2793

全网首发:香橙派5MAX安装ubuntu20.04(换了官方桌面)及ros,运行LIVOX-mid360混合固态激光雷达,实际测试fastlio(只能说可以跑,还是有点吃力)

独家发布!!!香橙派5MAX安装ubuntu20.04(换了官方桌面)及ros,运行mid360混合固态激光雷达,测试fastlio(只能说可以跑,还是有点吃力),国货也算崛起了。

2402_82745259的博客 6001

Transaction not successfully started出现错误解决方法

首先了解 getCurrentSession(); openSession(); 1.当您调用SessionFactory时。getCurrentSession,它将为您提供处于休眠上下文中并由休眠内部管理的会话对象。它绑定到事务范围。 当您调用SessionFactory时。getCurrentSession,如果不存在,它会创建一个新会话,否则使用当前休眠上下文中的相同会话。当事务结束时,它...

俺老孙来也 1万+

基于STM32F334C8T6的四开关Buck-Boost双向DC-DC电源设计与实现(附源码、仿真与计算书)

本文详细介绍了基于STM32F334C8T6的四开关Buck-Boost双向DC-DC电源设计方案。该设计利用STM32的高分辨率定时器(HRTIM)实现精确PWM控制,支持Buck、Boost和Buck-Boost三种工作模式自动切换,具备双向能量流动能力。通过PSIM仿真和Mathcad计算书进行参数优化,实测效率达95.8%,适用于新能源系统和电池管理等场景。

www00的博客 528

GD32F303开发实战(一):从零搭建MDK工程与时钟配置详解

本文详细介绍了如何从零开始为GD32F303微控制器搭建一个清晰、可维护的MDK工程模板。内容涵盖开发环境准备、工程目录结构规划、文件分组管理、关键工程配置,并重点解析了时钟树原理,手把手指导配置108MHz系统时钟。通过实战步骤与常见问题排查,帮助开发者构建一个稳定可靠的开发基础,便于后续功能扩展。

weixin_29174141的博客 271

有关Transaction not successfully started问题解决办法

有关Transaction not successfully started问题解决办法,配合延迟加载,解决session关闭等问题导致事务开启异常处理办法

十六子 2万+

华为Atlas 300I推理卡驱动安装避坑指南:不同安装方式的选择与优化

本文详细解析华为Atlas 300I推理卡驱动安装的三种主流方式(.run、.rpm和源码编译),提供关键环境检查步骤、安装流程优化建议及常见问题解决方案,帮助开发者高效完成芯片推理卡部署并规避典型安装陷阱。

q9w8e7r6t5的博客 433

org.hibernate.TransactionException: Transaction not successfully started

org.springframework.transaction.TransactionSystemException: Could not commit Hibernate transaction; nested exception is org.hibernate.TransactionException: Transaction not successfully startedorg.sprin

wojiushimogui的博客 1450

3D 结构光相机工作原理全解 | 从编码投射到三维重建,原理 + 代码 + 工业实战一站式掌握

本文从3D结构光相机的整体架构出发,层层拆解了编码投射、相位计算、相位解包裹、三维重建的核心原理,补充了工业实战所需的公式推导、代码实现、参数调优、设备选型和案例落地,核心总结如下:相位是3D结构光成像的“灵魂”,其精度、稳定性直接决定3D重建的效果,包裹相位与绝对相位的区分的是工业实战的基础;编码投射的核心是“正弦条纹+格雷码条纹”组合,正弦条纹负责高精度相位提取,格雷码条纹辅助解包裹,适配工业场景的精度与稳定性需求;

getusushu的博客 418

60、磁悬浮主动隔振系统的LQR控制研究

本研究针对磁悬浮主动隔振系统,提出了一种结合ANN建模、LQR控制与MPGA优化的综合控制方案。通过建立系统的动力学与状态空间模型,利用混合训练算法的ANN精确描述MSVI的非线性和滞后特性,并设计基于最小力传递率的LQR控制器。为优化LQR的Q和R矩阵,引入多群体遗传算法(MPGA),有效克服传统GA的早熟收敛问题,提升搜索效率与控制性能。仿真结果表明,在单频、扫频、随机及冲击激励下,该方法显著降低传递力幅值,隔振效果远优于被动系统。研究验证了所提方法的有效性,为磁悬浮隔振技术的实际应用奠定了基础,并展望

linux6sysadmin的博客 127

出现org.hibernate.TransactionException: Transaction not successfully started的原因

是因为代码中有Transaction的嵌套,如:Transaction tx1=session.beginTransaction()         Transaction tx2=session.beginTransaction()         tx2.commit();tx1.commit();在适用hibernate JPA的时候,不能适用事务嵌套关于hibern

Tomson Xu 1万+

FANUC机器人有关动作速度倍率的相关系统变量-解释说明

FANUC机器人有关动作速度倍率的相关系统变量-解释说明 1.$SHFTOV_ENB 默认值:0 名称:位移倍率的有效/无效 含义:位移倍率功能,通过按住SHIFT键的同时按下倍率键,将速度倍率更改为5档 设定值:有效1; 无效0. 有SHFIT键:微速–低速–5%–50%–100% 2.MCRGRP[GROUP].MCR_GRP[GROUP].MCRG​RP[GROUP].PRGOVERRIDE 默认值:100 名称:程序倍率 含义:设定程序再生时的、机器人动作速度比率 设定值:0~100(%) 3.S

Robot_PLC_HMI_Automation 9322

Transaction not successfully started

org.hibernate.TransactionException: Transaction not successfully started at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:179) at dao.UserDao.update(UserDao.java:75) at se

Gouden_den的博客 711

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Could not commit Hibernate transaction,Transaction not successfully started

SessionFactory.getCurrentSession() update 数据出错: org.springframework.transaction.TransactionSystemException: Could not commit Hibernate transaction; nested exception is org.hibernate.TransactionExcep...

MEMORY 1091

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

hibernate 事务嵌套导致org.hibernate.TransactionException: Transaction not successfully started

若出现org.hibernate.TransactionException: Transaction not successfully started 这个异常,考虑一下你的代码中是否有hibernate 事务嵌套,如下面的形式: Transaction tx1=session.beginTransaction()          Transaction tx2=session.

halfsuccess的专栏 5415

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

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

Exception in thread "main" org.hibernate.TransactionException: Transaction not successfully started 错误

渴望飞的鱼的博客 1258

异常:Transaction not successfully started struts2

异常:org.hibernate.TransactionException: Transaction not successfully started |错误代码: service层 Session session = HibernateUtils.getCurrentSession(); //…数据库操作语句(调用dao层) Transaction tx = session.beginTrans...

kingkang 309

hibernater的 Transaction not successfully started 异常错误解决

今天用hibernate做了个程序,在保存对象的时候,出现了 Transaction not successfully started异常,解决方法如下:   源码如下:   public void saveUser(User user) { Session session=sessionFactory.getSession().openSession(); ...

y雨打沙滩点点滴!!! 420

出现org.hibernate.TransactionException: Transaction not successfully started

用Struts2和Hibernate写的程序,昨天还可以正常运行,今天突然出现了这个错误,折腾了一天,试了网上所有的方法都不起作用,最后偶然发现是Tomcat里的webapps中项目的WEB-INF文件夹下的lib包里的jar文件有问题,替换为之前项目的lib包中文件,问题解决。

孤城幻夜 541

org hibernate TransactionException JDBC rollback failed

org hibernate TransactionException JDBC rollback failed

qq_44925290的博客 2620

org.hibernate.TransactionException: nested transactions not supported错误的解决方案

异常名称: org.hibernate.TransactionException: nested transactions not supported异常分析:You probably have begun a transaction, and trying to begin another one without having committed or rollbacked the prev...

JavaFresh 1556

Hibernate问题记录

使用hibernate遇到一些问题,罗列出来作为札记备忘。 遇到了如下的错误信息: [ERROR,Dispatcher] Exception occurred during processing request: Could not commit Hibernate transaction; nested exception is org.hibernate.Transaction

Ably_Clove 1521

Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: J

Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed 。 ssh框架报错,错误代码如上, 网上搜索的原因和解决方案: 原因:手动对数据库做了些操作,Hibernate事务回滚操作失败. 解决方法:重启服务器...

iteye_2688的博客 1463

org.hibernate.TransactionException: JDBC begin failed解决方案

org.hibernate.TransactionException: JDBC begin failed:     at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:68)    at org.hibernate.impl.SessionImpl.beginTransaction(SessionIm...

tengzhinei1的专栏 1791

org.hibernate.TransactionException: nested transactions not supported错误的解决方法!

用ssh架构进行开发的时候。配置hibernate如果出现org.hibernate.TransactionException: nested transactions not supported这个异常,那是因为你的事务没有提交 ,检查下代码。一般是实现DAO接口的那个java文件。Transaction的对象没有提交事务 也就是commit()这个方法,例如以下代码 public v

2027
上一篇: javascript判断输入的url是否正确
下一篇: tomcat网站域名去掉项目名称的方法
勤奋专注
博客等级 码龄19年 80粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值