gpt4 book ai didi

grails - 如何更新Grails域对象列表上的属性?

转载 作者:行者123 更新时间:2023-12-02 13:57:22 25 4
gpt4 key购买 nike

我有一个域类对象列表:

def books = Books.findAllByTitleLike("%Hobbit%")

现在,我要更新此列表中所有书籍中的“可用”属性。通常我会
books.each {
it.available = false;
it.save()
}

有更好的方法吗?我应该一次交易吗?喜欢:
Book.withTransaction { ... }

最佳答案

您可以使用executeUpdate使用批量更新

def updatedRecords = Book.executeUpdate("update Book set available = 'false' where title like'%Hobbit%' ")

每个评论:
它的hql及其与sql相似。

这是您可以执行此操作的另一种方式(内部查询):
def sql = """update Domain
set $fieldName = '$fieldValue'
where id in (select id from Domain1 where seqId = '$myid')"""
def updatedRecords = Domain.executeUpdate(sql)

要么
此行中的内容:
"... where id in ('123','132','111')

我没有测试过,但您可能可以说
def list= ['123','132','111']
" ... where id in ($list)"

关于grails - 如何更新Grails域对象列表上的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15931986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com