有人可以帮我解决我的情况。我有以下代码。
class Employee {
Integer empId
String firstName
String lastName
static constraints = {
empId()
firstName()
lastName()
}
static mapping = {
id generator:'assigned', name:'empId'
version false
}
}
该代码允许我通过“创建”保存员工,但给出以下错误消息
“未找到 ID 为空的员工”,并且在列表中,所有员工都已列出,但单击任何 Emp Id 都会出现相同的错误。请帮忙。这让我发疯了。
洛基
感谢您的回复。就像我提到的那样,我可以将 empId 保存在数据库中,但仍然会收到该消息并查看分配了 id (empId) 的列表。链接指向员工/节目,末尾没有数字。但是 employee/show/22(empId) 工作正常。employee/edit/22 也可以,但更新不起作用。
我没有使用任何分配的序列。只是一些随机整数。也许更好的例子是使用 SSN 而不是 empId。
再一次感谢你。
你是一个很好的帮助伙伴。感谢您的时间和耐心。我没有写任何特殊的更新或保存(我太新了,不能深入挖掘)。只需使用 grails 来生成所有内容。但是,我确实找到了解决方法。我更改了域类以添加变量 id (Long) 并添加 empId setter 方法以将 empId 值分配给 id。做到了。这是我的代码。
class Employee { Long id Long empId String firstName String lastName
static constraints = {
empId()
firstName()
lastName()
}
static mapping = {
id generator:'assigned', name:'empId', column: 'emp_id'
version false
}
public void setEmpId(Long empId){
this.empId = empId
this.id = empId
}
}
如果您有更好的方法,请随时提出建议。
问候
洛基