gpt4 book ai didi

Grails - 服务获取旧的域数据

转载 作者:行者123 更新时间:2023-12-02 14:42:36 25 4
gpt4 key购买 nike

我有以下域模型:

class Folder {
User user

Set files = []
static hasMany = [files: File]

static mapping = {
tablePerHierarchy false
files cascade: 'all-delete-orphan'
}

static constraints = {
}
}

我有一个请求,它返回特定文件夹的文件列表。有时,后续调用会给出不同的结果。数据库已更新且正确,因此该服务似乎获取了缓存的数据。

真的有某种缓存可以使这种情况发生吗?我该如何解决?

最佳答案

如果没有更多细节,回答您的问题有点困难,但我可以为您提供这种行为的几个常见原因:

  • 如果您使用 Folder.get(id) 进行查询,则查询绑定(bind)到
    如果有,则从二级缓存(而不是 db)中选择对象
    在缓存中。如果是这种情况,您应该使用动态查找器,
    IE。,
     Folder.findById(id)

    这将始终从数据库中获取新对象。
  • 在保存文件夹对象时,您可以考虑刷新
    通过在 save 方法中传递选项 flush: true 来休眠 session :
       folder.save(flush: true)
  • 关于Grails - 服务获取旧的域数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26921001/

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