/** called by internal mechanisms, do not call yourself. */ @Generated public void __setDaoSession(DaoSession daoSession) { this.daoSession = daoSession; myDao = daoSession != null ? daoSession.getTreeEntityDao() : null; }
protected String getSelectDeep() { if (selectDeep == null) { StringBuilder builder = new StringBuilder("SELECT "); SqlUtils.appendColumns(builder, "T", getAllColumns()); builder.append(','); SqlUtils.appendColumns(builder, "T0", daoSession.getTreeEntityDao().getAllColumns()); builder.append(" FROM TREE_ENTITY T"); builder.append(" LEFT JOIN TREE_ENTITY T0 ON T.\"PARENT_ID\"=T0.\"_id\""); builder.append(' '); selectDeep = builder.toString(); } return selectDeep; }
/** To-one relationship, resolved on first access. */ @Generated public TreeEntity getParent() { Long __key = this.parentId; if (parent__resolvedKey == null || !parent__resolvedKey.equals(__key)) { __throwIfDetached(); TreeEntityDao targetDao = daoSession.getTreeEntityDao(); TreeEntity parentNew = targetDao.load(__key); synchronized (this) { parent = parentNew; parent__resolvedKey = __key; } } return parent; }
/** To-many relationship, resolved on first access (and after reset). Changes to to-many relations are not persisted, make changes to the target entity. */ @Generated public List<TreeEntity> getChildren() { if (children == null) { __throwIfDetached(); TreeEntityDao targetDao = daoSession.getTreeEntityDao(); List<TreeEntity> childrenNew = targetDao._queryTreeEntity_Children(id); synchronized (this) { if(children == null) { children = childrenNew; } } } return children; }
@Override protected void setUp() throws Exception { super.setUp(); treeEntityDao = daoSession.getTreeEntityDao(); }
protected TreeEntity loadCurrentDeep(Cursor cursor, boolean lock) { TreeEntity entity = loadCurrent(cursor, 0, lock); int offset = getAllColumns().length; TreeEntity parent = loadCurrentOther(daoSession.getTreeEntityDao(), cursor, offset); entity.setParent(parent); return entity; }
public void testConcurrentResolveToOne() throws InterruptedException { final TreeEntity entity = new TreeEntity(); TreeEntityDao toOneDao = daoSession.getTreeEntityDao(); toOneDao.insert(entity); Runnable runnable1 = new Runnable() { @Override public void run() { entity.getParent(); } }; initThreads(runnable1); doTx(new Runnable() { @Override public void run() { entity.getParent(); } }); latchThreadsDone.await(); }