yur*_*ura 5 grails groovy grails-domain-class
现在我有字段"String firstName"它转换为"first_name",我希望"firstname"作为Hibernate的默认值.它可以吗?
class Person {
String firstName
static mapping = {
table 'people'
firstName column:'firstname'
}
}
Run Code Online (Sandbox Code Playgroud)
您可以更改整个项目的命名策略.从文档https://grails.github.io/grails-doc/latest/guide/GORM.html#customNamingStrategy.
默认情况下,Grails使用Hibernate的ImprovedNamingStrategy将域类和字段名称转换为SQL表和列名称,方法是将camel-cased字符串转换为使用下划线作为字分隔符的字符串.您可以在映射闭包中基于每个实例自定义这些,但如果存在一致的模式,则可以指定要使用的其他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
}
Run Code Online (Sandbox Code Playgroud)