gpt4 book ai didi

grails - 处理大量域对象的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-01 04:52:19 26 4
gpt4 key购买 nike

处理大量域对象的最佳方法是什么?例如,我有“Users”和“Book”域,并且对 Book 对象有 READ 权限。当我添加一本新书时,我想为这本书的所有用户设置阅读权限。一开始是一段代码:

def users = Users.findAll{ ... }
users.each { addPermission(book, it, READ) }

我正在使用 Spring Security Core 和 ACL 插件。但是现在,我认为将 10000 个用户对象加载到内存中并不是最好的方法。我将使用来自 Criteria 的 maxResults(???) 的 SCROLL 方法。所以我的问题是最好的方法是什么?如何确定MaxResults的最佳数量?

最佳答案

对于这样的事情,我会进行批量更新。 ExecuteUpdate 允许你做这样的事情并且它的性能更高。查看此示例并根据您的需要对其进行自定义。

def updatedRecords = User.executeUpdate("update User set permission = 'READ' where somecriteriaOrNot ")

关于grails - 处理大量域对象的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18848067/

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