当前位置: 首页 > 面试题库 >

在Grails中使用Postgresql:缺少序列或表:hibernate_sequence

太叔志文
2023-03-14
问题内容

我在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序列,或者不使用基于序列的生成器。



 类似资料:
  • 我有日期值,很少日期是完整的(格式:yyyy-mm-dd,但作为文本,而不是日期格式),但很少日期有缺失的月和日值,现在我必须添加缺失的月和日。示例:如果缺少日,则必须将该月的第一天添加到日期中,如果缺少月和日,则必须将1月1日添加到年部分中,在sql中,我可以简单地将数字连接起来,如下所示: 现在类似的连接必须在POSTGRESQL中完成,我尝试使用CAST和to_char以及其他一些函数,但我

  • 我的应用程序使用iPhone的GPS功能,以前工作正常,因为它提示用户允许使用定位服务,并显示在“设置”下 在运行不同操作系统(iOS 4-5)的多台设备(iPhone3GS、iPhone4、iPhone4S)中发现了这个问题。苹果最近改变了定位服务的工作方式了吗?

  • 我正在尝试使用grails教程将我的应用程序连接到共享数据库5MB。我使用的是grails 2.1.0。在我的本地机器上,当我运行heroku配置时,我可以看到DATABASE_URL被设置了,但是在执行git push之后······我的生成因错误而停止: 因此,我添加了日志记录,以查看Heroku上的环境。我已将println system.env添加到datasource.groovy中,但

  • 问题内容: 我正在尝试将.NET DataTable序列化为JSON文件,然后将JSON文件反序列化为DataTable。我想很简单。 但是,我有一个表,3行3列,每个元素的类型都是double。如果第一行中的任何值为null,则当JSON.Net将json文件反序列化为DataTable对象时,第一行中为null的列的所有值都变为字符串。 需要明确的是,只有第一行的值为空时,才会发生这种情况。如

  • 问题内容: 我已将Hibernate配置为使用PostgreSQL序列(通过注释)为主键 id 列生成值,如下所示: 通过这种配置,我看到的是,hibernate时,hibernate已经分配了 id 值> 3000,而对已用序列的查询显示了以下内容: (1列) 问题: 是否有错? hibernate状态应该与序列表同步吗? 如果不是,它将在哪里存储最后生成的ID? 谢谢。 问题答案: 我有同样的

  • 在哪里可以找到repo以下载下面列出的缺失依赖项。我尝试了以下存储库,但找不到这些依赖项。 我的存储库是: