1

我正在使用 OrmLite 4.48,并通过以下方式设置了两个对象:(简化)

public class Chat {
     @ForeignCollectionField(eager = false)
     private ForeignCollection<ChatUser> chatUsers;
}

public class ChatUser {
     @DatabaseField(foreign = true)
     private Chat chat;
}

不幸的是,当我从数据库中查询 Chat 对象时,我总是通过调试看到 ChatUser 对象已完全加载?正如文档中所述,默认情况下,外国收藏品是懒惰的,但在我的情况下,我看到它不是吗?

顺便说一句,如果我通过查询独立加载 ChatUser 对象,我可以看到他们的 Chat 外部字段仅加载了 id(如预期的那样)......

我认为错误很明显我错过了,但我不明白这怎么可能更简单?

4

1 回答 1

0

事实证明,调试器本身正在导致额外的查询导致延迟集合被获取:)(它发生在我身上,但不认为它真的发生了:))。

我还发现了@Gray 解释的另一个问题(https://stackoverflow.com/users/179850/gray

https://stackoverflow.com/a/7244121/1865583

于 2016-01-05T08:12:20.993 回答