我正在使用Grails并将我的应用程序连接到Oracle数据库。当我尝试创建一个对象(通过应用程序前端的相应视图)时,我收到此错误:
Hibernate:从dual中选择hibernate_sequence.nextval |错误2014-03-10 12:03:14,596 [http-bio-8080-exec-5] ERROR util.JDBCExceptionReporter - ORA-02289:序列不存在
当然,手动将其添加到数据库修复了问题:
CREATE SEQUENCE hibernate_sequence START WITH 1 INCREMENT BY 1;
但我想知道为什么我需要在db中手动创建seq以及为什么Hibernate无法自动创建它。任何的想法?我可以通过任何方式设置Hibernate来自己创建它吗?
感谢。
这是我的DataSource.groovy,设置了一个沙盒db:
dataSource {
pooled = true
driverClassName = "oracle.jdbc.OracleDriver"
dialect = "org.hibernate.dialect.Oracle10gDialect"
dbCreate = "update"
url = "jdbc:oracle:thin:@localhost:1521/ORCL"
username = <user>
password = <psw>
logSql = true
properties {
validationQuery="select 1 from dual"
testWhileIdle=true
timeBetweenEvictionRunsMillis=60000
}
}
hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = false
cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
}