我在Grails 2.0和Postgresql 9.1上遇到麻烦
我正在尝试使用顺序ID映射现有数据库。但是,即使没有在域中创建任何类,我也会遇到错误:
Compiling 1 source files..... | Running Grails application | Error executing bootstraps: Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; (...) Invocation of init method failed; nested exception is org.hibernate.HibernateException: Missing sequence or table: hibernate_sequence
我的数据源是:
dataSource { pooled = true driverClassName = "org.postgresql.Driver" username = "postgres" password = "postgrespass" dialect = org.hibernate.dialect.PostgreSQLDialect logSql = true } hibernate { cache.use_second_level_cache = true cache.use_query_cache = true cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory' } // environment specific settings environments { development { dataSource { dbCreate = "" url = "jdbc:postgresql://localhost:5432/Rambo" } } }
Tee现有数据库是一个扑克软件数据库(Holdem经理)。我正在使用一个不使用序列的PlayerHand对象,但是Player对象具有一个序列表。
奇怪的是,在以前的程序中,我很容易使Player对象与Postgresql 8.3&Grails 2.0一起使用。
您可能有一个实体使用序列ID生成器,但未配置任何序列名称,因此Hibernate使用默认序列名称:hibernate_sequence,但找不到它。
配置序列名称(并使用现有序列),或在数据库中创建hibernate_sequence序列,或者不使用基于序列的生成器。