0

我目前正在 GAE 中开发,我必须使用 JDO 进行这样的查询:

SELECT table1.column1, table2.column2 FROM table1, table2 WHERE table1.column1 = table2.column1;

我试过这个,但它不会工作:

    String query = "select from "+Assessment.class.getName()+ "a, "+ 
                        Project.class.getName()+" p where a.projectId == p.id && p.owner=='"+owner+"'";

这是有效的还是真的不支持?如果这是有效的,为什么它不起作用呢?如果不是,我应该怎么做才能完成这项工作?

谢谢!

4

1 回答 1

1

也许让自己熟悉JDOQL。您不能有多个“候选人”类型。很明显,一个简单的 JDOQL 查询不能返回超过 1 个候选类型,因为它没有任何意义。您期望返回类型为评估的对象,因此这就是候选对象。如果评估和项目相关,则使用 where 子句中的关系字段,如果不相关,则使用变量(也在文档中)。

如果您只想返回类 1 的字段和类 2 的字段,请在结果子句中指定。从 mydomain.Assessment 选择 this.field1, this.project.field2 WHERE this.project.owner = "value"

于 2010-01-07T10:41:49.440 回答