grails - 允许通过 grails/gorm 中的配置更改表名的正确方法是什么

标签 grails grails-orm

我目前有以下代码来定义我的“用户”类

class User
{
  String username

  static mapping = {
    table ConfigurationHolder.config.console.datasource.table.user.mapping ?: 'user'
  }
}

这适用于 grails 1.3.5,但在升级到 2.2.1 后,grails 继续提示 ConfigurationHolder被弃用。

所以从技术上讲,它“仍然”可以正常工作,但是一旦他们删除了这个类,将会发生什么。文档说“改用依赖注入(inject)”。但是我不能使用依赖注入(inject),因为 mapping是静态的。

真正的问题是允许通过配置重命名表的“正确”方法是什么?

谢谢

最佳答案

您可以使用 grails.util.Holders类以访问配置:

class User
{
    String username

    static mapping = {
      table Holders.config.console?.datasource?.table?.user?.mapping ?: 'user'
    }
}

关于grails - 允许通过 grails/gorm 中的配置更改表名的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15466796/

相关文章:

javascript - Grails 刷新谷歌图表

tomcat - Grails 2.3 web-xml 和 Tomcat URIEncoding

grails - Grails外部配置文件路径

grails - 服务验证域模型

tomcat - 如何在 Tomcat 中部署多个应用程序,共享 jar 并拥有不同的数据源?

grails - 如果域类的某些属性发生更改,哪里可以记录日志?

hibernate - 不想要 ID 列

grails - 在 Grails 域类中使用 ENUM

更新 : Validation error whilst flushing entity on AbstractPersistenceEventListener 上的 ValidationException

grails - 如何将对象实例从一个 Controller 传递到grails中的另一个 Controller 中的 Action