現在我有字段「字符串firstName」它轉換爲「first_name」,我希望「名字」作爲默認在休眠。它是否可行?如何更改Grails中的列名稱約定?
回答
您可以更改命名策略,爲整個項目。從文檔https://grails.github.io/grails-doc/latest/guide/GORM.html#customNamingStrategy。
默認情況下,Grails使用Hibernate的 ImprovedNamingStrategy通過 駱駝式大小寫字符串轉換爲 那些使用下劃線作爲字 分離到 領域類的類名和字段名轉換爲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
}
5.5.2.1 Table and Column Names
class Person {
String firstName
static mapping = {
table 'people'
firstName column:'firstname'
}
}
這完美解決我的問題,它是一個單一的類名引起衝突與MySQL(我有一個名爲「條件」類而導致不正確的語法在hbm2ddl.SchemaUpdate – Mike 2012-05-03 20:49:53
簡單的答案。謝謝! – 2013-12-16 20:53:21
- 1. mysql更改約束名稱,如何?
- 2. 如何更改WCF合約名稱?
- 3. 列名稱約定
- 4. 自動更改C++名稱約定
- 5. Grails和Groovy元類包名稱約定
- 6. 如何通過grails自定義腳本更改項目名稱
- 7. 更改Grails域類的顯示名稱
- 8. 如何更改GridView的列名稱
- 9. 是否有更改默認的Grails服務命名約定?
- 10. Grails的命名約定
- 11. 如何更改特定頁面模板中的列名稱?
- 12. 更改ASP.NET MVC中的控制器名稱約定
- 13. 如何在Grails 3中更改應用程序名稱?
- 14. 具有連字符名稱的Grails插件的命名約定
- 15. 如何更改grails中的主鍵列?
- 16. 更改外鍵約束命名約定
- 17. Django:更改外鍵約束名稱
- 18. 通過遷移更改約束名稱
- 19. 使用grails時HSQLDB中表和列名稱的約定是什麼?
- 20. 如何更改Laravel 5.2中的URL命名約定?
- 21. 如何更改大型現有代碼中的命名約定?
- 22. 如何更改或映射Grails ajax webflow操作名稱?
- 23. 如何更改iphone中的UISwitch名稱?
- 24. 如何更改eclipse中的WebContent名稱?
- 25. 如何更改NetBeans中的jFrame名稱
- 26. 如何更改tabBarItem名稱?
- 27. SSRS標題更改(更改列名稱)
- 28. 更改列標籤?例如:將列「A」更改爲「名稱」列
- 29. 更改SQL Server 2008中的列名稱
- 30. 更改列中值的名稱R
你也可以實現org.hibernate.cfg.NamingStrategy並使用它,如果Hibernate的一個實現是不夠的,只需將它放在src/groovy或src/java並將其作爲'naming_strategy = com.myco.myapp.MyCoolNamingStrategy'參考它 – 2010-09-14 15:05:46
在這個fea的當前狀態中的一個大警告在Grails中:這個命名策略覆蓋目前不適用於連接,外鍵或嵌入對象。下劃線在這些默認映射中被硬編碼。因此,如果您想更改命名策略,則需要爲域對象中的所有屬性指定列名覆蓋。 [docs](http://grails.org/doc/latest/guide/GORM.html#tableAndColumnNames) – 2012-08-10 15:44:19
我提出這個錯誤,你可以在這裏https://jira.grails.org/browse/GRAILS -11988 – 2015-02-16 03:24:22