Как изменить соглашение об именах столбцов в Grails? - PullRequest
5 голосов
/ 14 сентября 2010

Пока у меня есть поле "String firstName", оно преобразовано в "first_name", и я хочу использовать "firstname" по умолчанию в Hibernate.Это возможно?

Ответы [ 2 ]

8 голосов
/ 14 сентября 2010

5.5.2.1 Имена таблиц и столбцов

class Person {
  String firstName
  static mapping = {
      table 'people'
      firstName column:'firstname'
  }
}
6 голосов
/ 14 сентября 2010

Вы можете изменить стратегию именования для всего проекта.Из документации https://grails.github.io/grails-doc/latest/guide/GORM.html#customNamingStrategy.

По умолчанию Grails использует ImprovedNamingStrategy Hibernate для преобразования имен классов и полей класса домена в имена таблиц и столбцов SQL путем преобразования строк в верблюде в строки, которые используют подчеркивания в качестве разделителей слов,Вы можете настроить их для каждого экземпляра в закрытии сопоставления, но если есть согласованный шаблон, вы можете указать другой класс NamingStrategy для использования.

Настройте имя класса для использования в 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
}
...