def del_teacher(){
try {
def teacher = Teacher.get(params.id)
if(teacher){
teacher.delete(flush: true)
flash.teacherList_success = '删除成功'
}else{
flash.teacherList_error = '没有找到该信息'
}
}catch(Exception e){
println e
flash.teacherList_error = '删除失败'+e
}
redirect(action: 'teacherList')
}
如果不加flush:true的话,可以提示删除成功,但是数据库数据没有被删除。如果加上flush:true的话就会异常javax.persistence.TransactionRequiredException: no transaction is in progress,这是为什么?包括save()方法也是,只要加上flush:true就会出异常