Java 数据存储google app engine查询特定字段,不带子字段
我试图优化我的GAE。 这是我的模型: 游戏:身份,状态,玩家。。。和清单Java 数据存储google app engine查询特定字段,不带子字段,java,google-app-engine,datastore,Java,Google App Engine,Datastore,我试图优化我的GAE。 这是我的模型: 游戏:身份,状态,玩家。。。和清单圆形:id, 名称,描述 我得到了游戏和回合之间的关系:1-N 问题是我不能要求一场比赛没有他的全面或具体领域 我已经试过了: Query query = pm.newQuery(Game.class); ArrayList<Game> allgame = new ArrayList<Game>(); query.setResult("id, status"); allgame.addAll((Co
圆形:id, 名称,描述 我得到了游戏和回合之间的关系:1-N 问题是我不能要求一场比赛没有他的全面或具体领域 我已经试过了:
Query query = pm.newQuery(Game.class);
ArrayList<Game> allgame = new ArrayList<Game>();
query.setResult("id, status");
allgame.addAll((Collection<? extends Game>) query.execute());
Query Query=pm.newQuery(Game.class);
ArrayList allgame=新的ArrayList();
query.setResult(“id,status”);
allgame.addAll((Collection当JDO从数据存储中检索对象时,只检索被调用的获取组。默认情况下不检索未索引的属性,包括文本和Blob。这意味着序列化字段值(作为轮对象)默认情况下不会检索。这称为延迟加载*
要仅获取某些字段,可以使用如下查询:
query = pm.newQuery("SELECT status, players FROM " +
Game.class.getName() + " WHERE xy == :xy);
请记住,在这种情况下,必须为检索的字段编制索引
希望这有帮助
*REF:好的,这是工作。现在我明白了FetchGroup的意思。默认情况下,这是真的,我将它改为False,它的工作@Persistent(mappedBy=“gameParent”,defaultFetchGroup=“False”)private List roundList=new ArrayList();但现在查询的答案是一个对象,如何检索字段?没错。您必须手动检索字段,如下所示:键入fieldvalue=listObject.get(0..n)[0..n];我不知道任何奇特的方法。我无法获取对象中的数据,因为我请求了许多字段。
query = pm.newQuery("SELECT status, players FROM " +
Game.class.getName() + " WHERE xy == :xy);