gpt4 book ai didi

java - Android 的 ORMLite 不会使用 foreignAutoRefresh 自动刷新外部对象

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:06:18 24 4
gpt4 key购买 nike

这是我的问题:我有不同的实体链接到其他实体,嵌套深度最多为 3。我在每个对象中的所有外部字段都用

注释
@DatabaseField(foreign = true, foreignAutoRefresh = true)

但只有达到 2 的嵌套深度时,我才会得到实际的自动刷新外来对象。

例如,如果我查询一个 A 实体,然后我会这样做:

A.getB().getC().getD()

对于实体 B 和 C,我已经拥有所有字段,而对于实体 D,我只获取了 ID,我需要调用 dao.refresh() 方法来获取所有 D 字段。这是一个限制吗?我在文档中找不到任何相关信息。

最佳答案

编辑:

因此,在创建了一些更好的单元测试并对此进行了更多调查之后,结果证明这是一个错误。 ORMLite错误地处理了 @DatabaseField 注释中的 maxForeignAutoRefreshLevel 设置。现在(您似乎已经想通了看您的答案)您需要将 foreignAutoRefresh = truemaxForeignAutoRefreshLevel = 3 添加到 C B 对象中的字段和 C 对象中的 D 字段。这应该可以解决问题。

我创建了以下错误报告:

https://sourceforge.net/tracker/?func=detail&aid=3530801&group_id=297653&atid=1255989

我已经解决了 trunk 中的问题,并开始推出 4.41 版。自上次发布以来已经有一段时间了,现在是最好的时机。

关于java - Android 的 ORMLite 不会使用 foreignAutoRefresh 自动刷新外部对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10801970/

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