我是靠谱客的博主 斯文冬日,最近开发中收集的这篇文章主要介绍hibernate ORA-01453: SET TRANSACTION 必须是事务处理的第一个语句,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

public static void main(String[] args) {
Session session = HibernateUtil.getSessionFactory).getCurrentSession();
session.beginTransaction();
Users user = new Users();
user.setName("weiwei");
user.setPassword("123");
session.save(user);
session.getTransaction().commit();}

session.beginTransaction();报错
xception in thread "main" org.hibernate.exception.GenericJDBCException: Cannot open connection
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:142)
at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:85)
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1354)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:342)
at $Proxy0.beginTransaction(Unknown Source)
at com.wangchao.com.Test.main(Test.java:13)
Caused by: java.sql.SQLException: ORA-01453: SET TRANSACTION 必须是事务处理的第一个语句

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:330)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:287)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:742)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:206)
at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:945)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1159)
at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1678)
at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1644)
at oracle.jdbc.driver.PhysicalConnection.setTransactionIsolation(PhysicalConnection.java:1590)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:126)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
... 11 more
有第一条语句,数据库应该连上了,大家看看什么错,好像是ORACLE报出来的。
问题解决了
<!-- <property name="connection.isolation">2</property> -->
虽然不知道什么原因,但是解决了。

最后

以上就是斯文冬日为你收集整理的hibernate ORA-01453: SET TRANSACTION 必须是事务处理的第一个语句的全部内容,希望文章能够帮你解决hibernate ORA-01453: SET TRANSACTION 必须是事务处理的第一个语句所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(80)

评论列表共有 0 条评论

立即
投稿
返回
顶部