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

Hibenate访问Oracle数据库异常:ORA-00911: 无效字符

阅读更多
Exception in thread "main" org.hibernate.exception.SQLGrammarException: ORA-00911: 无效字符

at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:122)
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110)
at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:129)
at org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81)
at $Proxy5.executeUpdate(Unknown Source)
at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:56)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2856)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3297)
at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:88)
at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:362)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:354)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:275)
at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:326)
at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1127)
at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:325)
at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175)
at hibernate.conn.UserDAOImpl.saveUser(UserDAOImpl.java:115)
at hibernate.conn.TestDAO.main(TestDAO.java:26)
Caused by: java.sql.SQLException: ORA-00911: 无效字符

at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:74)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:204)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1034)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:953)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3387)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3468)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1062)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122)
... 17 more

主要原因是由于未给对象属性赋值,导致不能插入数据库,_User中以_开头Oracle无法识别。
分享到:
评论

相关推荐

    oracle ora-各种常见java.sql.SQLException归纳

    Oracle ORA 异常处理详解 Oracle 是一个强大的关系数据库管理系统,然而,在使用 Oracle 时,总是会遇到各种错误信息,这些错误信息是Oracle抛出的异常信息,用于提示开发者出现了什么问题。了解这些错误信息是...

    ORA-00904 WMSYS.WM_CONCAT标识符无效解决方案

    在Oracle数据库中,"ORA-00904"是一个常见的错误代码,它表示尝试引用一个不存在或无效的标识符。在这种情况下,错误是针对"WMSYS.WM_CONCAT"函数的,这是一个在某些Oracle版本中提供的聚合函数,用于字符串连接。...

    hibernate连接oracle数据库.doc

    【hibernate 连接 oracle 数据库】 一、Hibernate 概述 Hibernate 是一个流行的 Java 对象关系映射(ORM)框架,它提供了一种在 Java 应用程序中管理和操作关系数据库的方法。ORM 技术的核心思想是将面向对象的模型...

    hibernate连接各种数据库的方法

    ### 使用Hibernate连接各种数据库的方法 #### 一、前言 Hibernate是Java开发中非常流行的ORM(对象关系映射)框架之一,它简化了数据库操作,让开发者能够更加专注于业务逻辑而不是复杂的SQL语句编写。本文将详细...

    hibernate.properties

    - **`hibernate.connection.username`**: 数据库用户名为`ora`。 - **`hibernate.connection.password`**: 数据库密码为`ora`。 通过以上分析可以看出,`hibernate.properties`文件中的配置项对于Hibernate框架的...

    oracle的配置文件

    关于标签提到的"struts1",Struts1是一个基于MVC设计模式的Java Web框架,它与Oracle数据库配置并无直接关系,但在实际开发中,Struts1可能会与Oracle数据库配合使用,通过Hibernate等ORM框架进行数据持久化操作。...

    oracle自学笔记

    例如,Hibernate是一个Java ORM框架,它允许开发者将Java对象直接映射到数据库中的记录,简化了数据访问操作。 关系型数据库的数据存储在硬盘上的文件中,而NoSQL数据库则常将数据存放在内存缓存中,速度相对较快。...

    黑马(linux、redis、oracle、maven、全栈基础班视频教程

    - **ORM框架**:如MyBatis、Hibernate等简化数据库操作。 - **NoSQL数据库**:MongoDB等非关系型数据库的使用。 #### 部署与运维 - **持续集成/持续部署(CI/CD)**:自动化测试与部署。 - **容器技术**:如Docker...

    jdbc基础和参考

    Oracle数据库进行连接的时候,使用的驱动类: 1.oracle.jdbc.driver.OracleDriver 2.oracle.jdbc.OracleDriver 2.建立连接 连接方式: 1.DriverManager(中的getConnection其实也是调用的Driver.connect方法) ...

    精心整理的ssh2 一些错误问题的记录(推荐)

    这是一个Oracle特有的错误代码,表明在SQL语句中使用了无效的标识符。通常,问题出在列名或表名拼写错误,或者没有正确地使用双引号对大小写敏感的标识符进行包围。检查SQL语句中的所有标识符是否正确无误。 ### ...

    ssh(structs,spring,hibernate)框架中的上传下载

    所以要完成对Lob字段的操作,Hibernate必须执行两步数据库访问操作,先Insert再Update。  使用BlobByteArrayType字段类型后,为什么我们就可以象一般的字段类型一样操作Blob字段呢?可以确定的一点是:...

    DB2和Oracle的区别.docx

    在Oracle中,一个实例可以包含一个或多个数据库,配置文件通常为initSID.ora或SPFILE。而在DB2中,实例和数据库的关系稍有不同,一个实例可以包含多个数据库,配置分为Database Manager Configuration (DBM CFG) 和 ...

Global site tag (gtag.js) - Google Analytics