首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ORMLite foriegncollection刷新

ORMLite foriegncollection刷新
EN

Stack Overflow用户
提问于 2011-11-18 16:02:16
回答 1查看 875关注 0票数 0

ormlite-android-4.29,ormlite-core-4.29

在我的PantryCheck类中有一个PantryCheckLine对象的ForiegnCollection,如下所示。

代码语言:javascript
复制
@ForeignCollectionField(eager = true, maxEagerForeignCollectionLevel = 1)
private ForeignCollection<PantryCheckLine> pantryCheckLines;

假设我有3个PantryCheckLines对象,我删除了一个。然后我想删除包含其组合PantryCheckLines的PantryCheck。一切似乎都很正常。但是ForiegnCollection的大小不正确。

删除方法如下所示。

代码语言:javascript
复制
PantryCheckLineRepo pantryCheckLineRepo =
    new PantryCheckLineRepo(DaoFactory.getPantryCheckLineDaoInstance());
Collection<PantryCheckLine> pantryCheckLinesCollection =
    this.getPantryCheckLines();
Log.v("pantrychecklines size", pantryCheckLinesCollection.size());
pantryCheckLineRepo.delete(pantryCheckLinesCollection);
Log.v("pantrychecklines", "deleted");

感谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-18 21:49:29

我不能明确回答,因为我不确定delete()方法在做什么。如果您在您的问题中添加了有关正在进行的Dao调用或ForeignCollection调用的更多详细信息,我可以在此处添加详细信息。

影响集合大小的唯一方式是在集合本身上使用remove(Object)方法。如果您在幕后使用Dao删除该项,那么集合将不会知道发生了删除,并且其急切获取的内部列表大小不会受到影响。惰性集合(eager = false)总是访问数据库,所以remove(Object)dao.delete(Object)都可以工作。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8179392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档