今のところ、「first_name」に変換された「String firstName」フィールドがあり、Hibernate のデフォルトとして「firstname」が必要です。可能ですか?
7753 次
2 に答える
8
class Person {
String firstName
static mapping = {
table 'people'
firstName column:'firstname'
}
}
于 2010-09-14T13:41:56.167 に答える
6
プロジェクト全体の命名戦略を変更できます。ドキュメントhttps://grails.github.io/grails-doc/latest/guide/GORM.html#customNamingStrategyから。
デフォルトでは、Grails は Hibernate の ImprovementNamingStrategy を使用して、ドメイン クラスのクラス名とフィールド名を、キャメル ケースの文字列からアンダースコアを単語区切りとして使用する文字列に変換することにより、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
}
于 2010-09-14T13:49:49.897 に答える