现在我将字段“String firstName”转换为“first_name”,我希望“firstname”作为Hibernate的默认值。它可以吗?
答案 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
}