如何修复"没有方法签名:java.util.ArrayList.delete()"删除一个对象?

时间:2016-05-10 13:59:51

标签: grails gorm

我是grails的新手,我试图删除我得到的所有对象(ArrayList)。

这是获取数据的方法,即:

~Car() {
  delete owner;
}

这就是我要做的事情:

def authRequest = User.findAllByExpiresLessThan(currentDate)

这是错误:

if(authRequest){
    authRequest.delete()
}

提前致谢。

2 个答案:

答案 0 :(得分:2)

如果只有一个对象,

authRequest.delete()会起作用。

当您使用findAllBy而不是findBy时,它将返回一个对象数组,而不是一个。在这种情况下,您可以使用"Spread" operator*.)将其全部删除:

authRequest*.delete()

答案 1 :(得分:0)

我会使用HQL以原子方式删除所有对象,使用单个(SQL DELETE)语句

User.executeUpdate('delete User where expires < ?', [currentDate])