我刚刚安装了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)所示。 –