@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent
private Tree parent;
@Persistent
private String name;
@Persistent
private boolean isRoot;
вопрос примерно такой как забрать его из хранилища по parent?
PersistenceManager pm = PMF.get().getPersistenceManager();
Tree parent = GetById(pm, parentId);
String queryString = "select from " + Tree.class.getName();
if (parent == null)
queryString += " where isRoot == true";
else {
queryString += " where parent == inParent";
}
Query query = pm.newQuery(queryString);
query.declareParameters("ContentFolderData inParent");
List<Tree> result = (List<Tree>)query.execute(parent);
return result;
тут уже есть костыль:
if (parent == null)
queryString += " where isRoot == true"; ибо при парент нул - выдает
ошибку
теперь если у парента нет чайлдов выдает
org.datanucleus.store.appengine.FatalNucleusUserException "Key of
parameter value does not have a parent."
я знаю, что если сделать childs а не parent все будет работать - но
меня это не устраивает, я хочу загружать только 1 уровень и все что
выше, а не все, что ниже.