如何在Grails中更改列名约定?

时间:2010-09-14 13:37:16

标签: groovy grails grails-domain-class

现在我将字段“String firstName”转换为“first_name”,我希望“firstname”作为Hibernate的默认值。它可以吗?

2 个答案:

答案 0 :(得分:8)

5.5.2.1 Table and Column Names

class Person {
  String firstName
  static mapping = {
      table 'people'
      firstName column:'firstname'
  }
}

答案 1 :(得分:5)

您可以更改整个项目的命名策略。来自文档https://grails.github.io/grails-doc/latest/guide/GORM.html#customNamingStrategy

  

默认情况下,Grails使用Hibernate   ImprovedNamingStrategy转换   domain class类和字段名称   SQL表和列名称   从驼峰式弦乐转换为   那些使用下划线作为单词的   分隔符。您可以自定义这些   映射中的每个实例基础   关闭但如果有一致的话   你可以指定一个不同的模式   要使用NamingStrategy类。

     

在hibernate部分配置grails-app / conf / DataSource.groovy中使用的类名,例如

所以,你的DataSource.groovy

中就是这样的
dataSource {
    pooled = true
    dbCreate = "create-drop"
     …
}
hibernate {
    cache.use_second_level_cache = true
     …
    naming_strategy = org.hibernate.cfg.DefaultNamingStrategy
}