不要更新或删除数据库中的数据

时间:2017-04-01 05:57:57

标签: hibernate grails gorm

我有doman课程:

package testgrails12
class Teams {
String name
static mapping = {
version false
}
static constraints = {
name nullable: true
}
}

我正在尝试删除或更新表中的数据在我的控制器中:

def team = Teams.get(1)
team.delete()

更新

team.name = '123'
team.save()

我在第一次或第二种情况下都没有得到结果。我也没有任何错误。我糊涂了。它只是不起作用。我在数据库中看到了结果。

3 个答案:

答案 0 :(得分:1)

一个好的起点是生成视图和控制器,以了解视图和控制器之间发生“东西”的方式,运行generate-all命令。

generate-all testgrails12.Teams

你最终会得到一个TeamsController和所有相关的gsps。

你也可以使用与上面基本相同的scaffolding,但隐藏所有魔法。 创建以下团队控制器:

class TeamsController {
    static scaffold = Teams
}

答案 1 :(得分:0)

删除 - >

   def delete(Long id) {
            def teamsInstance = Teams.get(id)
            if (!teamsInstance) {
         your logic,  if team instance is null
            }

                teamsInstance.delete(flush: true, failOnError:true)
                 }

更新 - >

def update(Long id {
        def teamsInstance = Teams.get(id)
         teamsInstance.setName("xyz");
teamsInstance.save(flush: true, failOnError:true)
}

在这两个动作中我都使用了flush:true,failOnError:true 如果您的域中存在任何错误,则failOnError将引发异常,并且在异常的帮助下您可以跟踪该问题。

答案 2 :(得分:-1)

用于将结果提交到数据库使用session的特殊方法 - flush()