Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 通过设置JPA中映射实体的参数进行查询_Google App Engine_Jpa_Google Cloud Datastore - Fatal编程技术网

Google app engine 通过设置JPA中映射实体的参数进行查询

Google app engine 通过设置JPA中映射实体的参数进行查询,google-app-engine,jpa,google-cloud-datastore,Google App Engine,Jpa,Google Cloud Datastore,我的项目具有一对多关系中的两个实体用户和项。paent用户实体由条目实体中的字段“owner”映射,该字段用Fetchtype.LazyLoad注释 项目实体: Item{ //other fields.. @Manytoone(@FetchType=LazyLoad) User owner; //getters and setters... } 现在我正在查询父用户实体的性别设置为女性的项目,如下所示: String queryString="Se

我的项目具有一对多关系中的两个实体用户和项。paent用户实体由条目实体中的字段“owner”映射,该字段用Fetchtype.LazyLoad注释

项目实体:

Item{
     //other fields..

     @Manytoone(@FetchType=LazyLoad)
     User owner;

     //getters and setters...
}
现在我正在查询父用户实体的性别设置为女性的项目,如下所示:

String queryString="Select i from Item AS i where i.owner.gender='Female'"
Query q=QueryFactory.createQuery(queryString);
List<Item> result=q.getResultList();
String queryString=“从项目中选择i作为i.owner.gender='Female'所在的i”
Query q=QueryFactory.createQuery(queryString);
List result=q.getResultList();

我的问题是这样的查询是否可能?如果可能,注释LAZYLOAD是否会对获取结果产生任何影响,因为据我所知,在加载项实体时不会隐式加载所有者字段。

GAE不允许联接,如您在评论中所述。如果你尝试,你会得到一个错误


应该使用标准log4j(internet搜索其文档)或java.util.logging启用日志。它们允许类路径根目录中的配置文件来配置记录的数量。根据配置,可以将内容记录到控制台或文件中

测试时会发生什么?打开SQL日志以查看执行了哪些SQL查询,将
=Female
更改为
='Female'
,使用调试器一步一步地执行代码,并查看每个步骤加载的内容。我还没有尝试过。顺便问一下,我如何打开SQL日志?我的项目是google app engine项目,我使用的是Eclipse IDE。你是说,GAE/数据存储?还是GAE/CloudSQL?前者不允许在查询中加入。我正在使用GAE/Datastore。因此,我的问题代码无法工作?那么,您应该用GAE标记您的问题。JPA在GAE上受到高度限制,通常由JPA支持的查询中的联接不在GAE上。