5

今のところ、「first_name」に変換された「String firstName」フィールドがあり、Hibernate のデフォルトとして「firstname」が必要です。可能ですか?

4

2 に答える 2

8

5.5.2.1 表と列の名前

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 に答える