我有两个实体,User和Store.User有很多Stores(1:M)关系.我已经通过以下代码将一些商店列表插入到商店表中.
public void saveStoresToDatabase(Context context, ArrayList<Store> storeList) {
DevOpenHelper helper = new DaoMaster.DevOpenHelper(context, "notes-db", null);
SQLiteDatabase db = helper.getWritableDatabase();
DaoMaster daoMaster = new DaoMaster(db);
DaoSession daoSession = daoMaster.newSession();
StoreDao storeDao = daoSession.getStoreDao();
ArrayList <Store> list = SharedData.getInstance().getUser().getStoreList();
for(int i = 0; i < storeList.size(); i++) {
storeList.get(i).setUserIdForStore(SharedData.getInstance().getUser().getId());
}
storeDao.insertOrReplaceInTx(storeList);
list.addAll(storeList);
user.resetStoreList();
}
Run Code Online (Sandbox Code Playgroud)
每当我尝试通话时,我都会得到"实体与DAO上下文分离"异常 user.getStoreList().发生异常,在下面的代码狙击为daoSession是null.
public ArrayList<Store> getDMStoreListFromDatabase(Context context) {
return SharedData.getInstance().getUser().getStoreList();
}
Run Code Online (Sandbox Code Playgroud)
SharedData我的单身人员在哪里,有一个用户对象:
private SharedData() { …Run Code Online (Sandbox Code Playgroud) greendao ×1