相关疑难解决方法(0)

如何批量删除Grails/GORM中的记录?

我有一张表,其中有记录需要根据一组标准定期清除.

我原以为我可以使用条件构建器来删除记录,但由于delete条件上没有方法,因此失败了...

def c = Agency.createCriteria()
c.delete
{
    eq("agency", "XXX")  
}
Run Code Online (Sandbox Code Playgroud)

所以我想也许我首先查询该集合然后删除...

def c = Agency.createCriteria()
def deletions = c
{
    eq("agency", "XXX")  
}
deletions.delete
Run Code Online (Sandbox Code Playgroud)

这也因同样的原因,不同的对象而失败.

那么这样做的正确方法是什么?似乎过度(反常),我将不得不遍历调用delete()每个项目的整个结果集.

我知道我可以形成一个查询,直接在HQL或SQL中执行,但这也是错误的.标准构建器仅用于检索吗?

谢谢

grails hibernate grails-orm

23
推荐指数
3
解决办法
3万
查看次数

标签 统计

grails ×1

grails-orm ×1

hibernate ×1