OrmLite ForeignCollectionField总是急切加载?

时间:2016-01-04 15:35:48

标签: android lazy-loading ormlite eager-loading foreign-collection

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

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

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

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

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

我认为错误是我错过的明显的事情,但我不明白这怎么可能更简单?

1 个答案:

答案 0 :(得分:0)

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

我还在@Gray(https://stackoverflow.com/users/179850/gray

解释的答案中找到了另一个问题

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