GreenDAO:实体与DAO上下文分离

Kin*_* Wu 3 android dao greendao

我使用GreenDAO.但是,抛出此异常:

"de.greenrobot.dao.DaoException: Entity is detached from DAO context".
Run Code Online (Sandbox Code Playgroud)

在生成的代码中,我找到了这段代码.

/** called by internal mechanisms, do not call yourself. */
public void __setDaoSession(DaoSession daoSession) {
    this.daoSession = daoSession;
    myDao = daoSession != null ? daoSession.getPeerGroupDao() : null;
}
Run Code Online (Sandbox Code Playgroud)

谁知道GreenDAO什么时候打电话呢?另外,如何触发它来调用.

谢谢.

Kin*_* Wu 7

我找到解决方案.

调用loadDeep和queryDeep时,greenDAO在内部调用__setDaoSession.在调用这些方法之后,建立一对多或一对一的关系.如果您只是使用SQLiteDatabase来查询结果,那么您只需获取数据,但不建立关系.

详细地说,你可以去这个网站

谢谢.