Hibernate ORA-02289: 序列不存在
转自http://www.cnblogs.com/zhaogd/p/5215242.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | org.hibernate.exception.SQLGrammarException: could not extract ResultSet at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java: 80 ) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java: 49 ) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java: 126 ) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java: 112 ) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java: 91 ) at org.hibernate.id.SequenceGenerator.generateHolder(SequenceGenerator.java: 122 ) at org.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java: 115 ) at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java: 118 ) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java: 209 ) at org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java: 55 ) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java: 194 ) at org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java: 49 ) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java: 90 ) at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java: 715 ) at org.hibernate.internal.SessionImpl.save(SessionImpl.java: 707 ) at org.hibernate.internal.SessionImpl.save(SessionImpl.java: 702 ) at com.zhaogd.myapplication.test.Test.main(Test.java: 39 ) Caused by: java.sql.SQLSyntaxErrorException: ORA- 02289 : 序列不存在 at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java: 447 ) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java: 396 ) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java: 951 ) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java: 513 ) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java: 227 ) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java: 531 ) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java: 208 ) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java: 886 ) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java: 1175 ) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java: 1296 ) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java: 3613 ) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java: 3657 ) at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java: 1495 ) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java: 82 ) ... 12 more |
因为Hibernate中主键设为自增的,hibernate中的实体类与数据库的映射文件中配置数据库 的Sequence
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC ????"-//Hibernate/Hibernate Mapping DTD 3.0//EN" ???"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping> ???????<class name="com.zhaogd.myapplication.model.SysUser" table="SYS_USER"> ???????<id name="id"> ???????????<!--主键生产策略 --> ???????????<generator class="native"> ?????????????<!--SEQ_SYS_USER 为orcale中创建的sequence--> ??????????????<param name="sequence">SEQ_SYS_USER</param> ????????????</generator> ???????</id> ???????<!--实体类属性--> ???????<property name="username" /> ???????????<property name="password" /> ???</class></hibernate-mapping>
至于orcale中如何创建sequence
-- Create sequence create sequence SEQ_SYS_USERminvalue 1maxvalue 999999999999999999start with 21increment by 1cache 20;
Hibernate ORA-02289: 序列不存在1
原文地址:http://www.cnblogs.com/cyxdn/p/8078458.html