我剛剛安裝了Grails 3.2.0.M2並創建了一個名爲Group
的新域名類。然後我跑了generate-all *
命令,並試圖瀏覽到GroupController
,但這個錯誤迎了上去:什麼詞是無效的域名類
URI: /group/index
Class: org.h2.jdbc.JdbcSQLException
Message: null
Caused by: Syntax error in SQL statement "SELECT COUNT(*) AS Y0_ FROM GROUP[*] THIS_ "; expected "identifier"; SQL statement: select count(*) as y0_ from group this_ [42001-192]
這是發生在這裏:
def index(Integer max) {
params.max = Math.min(max ?: 10, 100)
respond Group.list(params), model:[groupCount: Group.count()] // Error occurs here
}
奇怪的是,這個問題就會消失,如果我將domain class和controller分別重命名爲Groupz
和GroupzController
。爲什麼我不能命名我的域類組?還有哪些其他域名對於域名是非法的?
您也可以繼續使用保留字,但它括在反引號字符;這將使Hibernate使用正確的引用/轉義數據庫,如[這個較舊的答案](http://stackoverflow.com/a/9468002/160313)所示。 –