2
我有域类对象的列表:如何更新grails域对象列表上的属性?
def books = Books.findAllByTitleLike("%Hobbit%")
现在我要更新这个列表中的所有书籍的财产“可用”。通常,我会做
books.each {
it.available = false;
it.save()
}
有没有更好的方法来做到这一点?我应该在一次交易中完成吗?像:
Book.withTransaction { ... }
我更新了书籍列表,因为我不想更新所有布鲁克斯,但只有几个。那么,我该如何将这些书籍列表传递给您的查询? – confile 2013-04-10 21:31:30
您可以将where子句添加到查询字符串中。像“其中x = 1或x = 2”就像这样。你甚至可以使用inList,不确定inlist是否适用,但你可以试试它。但一般来说,您可以灵活地构建自己的查询sql。 – Alidad 2013-04-10 21:41:53
只是注意到你更新了你的问题,你应该也可以使用。我对我的答案进行了修改,看它是否有效。 – Alidad 2013-04-10 22:05:41