Hibernate 错误解决(TransactionException: Transaction not successfully started)
来源:互联网 发布:中国纺织业出口数据 编辑:程序博客网 时间:2024/05/29 15:12
【关键的错误信息】: 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
- Hibernate 错误解决(TransactionException: Transaction not successfully started)
- org.hibernate.TransactionException: Transaction not successfully started
- org.hibernate.TransactionException: Transaction not successfully started
- 出现org.hibernate.TransactionException: Transaction not successfully started的原因
- 出现org.hibernate.TransactionException: Transaction not successfully started
- hibernate 事务嵌套导致org.hibernate.TransactionException: Transaction not successfully started
- Exception in thread "main" org.hibernate.TransactionException: Transaction not successfully started解
- hibernate提示错误的原因Transaction not successfully started
- Transaction not successfully started 异常的解决
- Transaction not successfully started
- Transaction not successfully started
- Transaction not successfully started
- 解决方法 严重: Servlet.service() for servlet default threw exception org.hibernate.TransactionException: Transaction not successfully
- Transaction not successfully started 处理办法
- 有关Transaction not successfully started问题解决办法
- spring管理hibernate事务报异常--Transaction not successfully started解决方法
- spring管理hibernate事务报异常--Transaction not successfully started解决方法
- spring管理hibernate事务报异常--Transaction not successfully started解决方法
- Android调试工具之Traceview
- spring源码下载地址
- iOS被爆存在安全漏洞,邮箱附件无需使用密钥即可解密
- 小米电视支付SDK接入air坑爹之路
- recvmsg与sendmsg函数
- Hibernate 错误解决(TransactionException: Transaction not successfully started)
- iOS UIPopoverController的使用
- Topic 5: Data Structures
- 最小生成树prim算法实现及1233解题思路
- Sublime Text 2 强大的编辑功能
- Cocos2D-X2.2.3学习笔记2(坐标系统)
- js 在不同浏览器中一些常见的兼容性问题
- 计算机改名引发的ORA-12541: TNS无监听程序错误
- 关于oracle的start with connect by 的使用