I have two objects, User and Store . User has many relationships Stores (1: M). I entered the list of stores in the storage table by running the following code.
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(); }
I get an βentity from exception from DAO contextβ exception whenever I try to call user.getStoreList() . An exception occurs with the following code that was discarded because daoSession is null .
public ArrayList<Store> getDMStoreListFromDatabase(Context context) { return SharedData.getInstance().getUser().getStoreList(); }
where SharedData is my singleton having a custom object:
private SharedData() { user = new User(); }
and I get an instance of SharedData as follows:
public static synchronized SharedData getInstance() { if (sharedObject == null) { sharedObject = new SharedData(); } return sharedObject; }
source share