【发布时间】:2014-05-22 15:13:23
【问题描述】:
好的,我正在尝试找到我的所有 Employee 具有给定角色...但是无论我尝试什么,我最终都会抛出相同的异常...
enum Role {
SFC("State Fitness Coordinator"),
TRAINING("Training"),
DFC("District Fitness Coordinator"),
final String longName
private Role(String longName) {
this.longName = longName
}
}
class Employee {
static hasMany = [roles: Role]
static constraints = {
}
}
我尝试的第一件事是Employee.findAllByRoles(Role.DFC)
然后我尝试了:
Employee.findAll("FROM Employee e WHERE e.roles IN (:role)", [role: [Role.DFC]])
还有
Employee.withCriteria {
'in'('roles', [Role.DFC])
}
所有结果
Class
java.sql.SQLException
Message
Missing IN or OUT parameter at index:: 1
任何方向都将不胜感激。
【问题讨论】:
-
您是否尝试过
Role.DFC.longName而不仅仅是Role.DFC?所以在第一个例子中,Employee.findAll("FROM Employee e WHERE e.roles IN (:role)", [role: [Role.DFC.longName]]) -
@grantmc 给出了同样的错误但是......角色以枚举名称保存在数据库中。
标签: grails grails-2.0