2010-01-07 3 views
0

나는 현재 GAE에서 개발 그리고 난이 사용 JDO 같은 쿼리가 :여러 클래스

SELECT table1.column1, 표 1에 의해 table2.column2 를 표 2 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+"'"; 

이 유효한 경우, 또는이 정말 아직 지원되지 않습니다? 이것이 유효한 경우 왜 작동하지 않습니까? 그렇지 않은 경우이 작업을 수행하려면 어떻게해야합니까?

감사합니다.

답변

1

아마 JDOQL에 익숙해 질 것입니다. 여러 '후보'유형을 사용할 수 없습니다. 단순한 JDOQL 쿼리는 의미가 없기 때문에 두 개 이상의 후보 유형을 반환 할 수 없습니다. Assessment 유형의 객체가 예상되므로 후보가됩니다. Assessment and Project가 관련된 경우 where 절 내의 관계 필드를 사용하고 관련이 없으면 변수를 사용합니다 (또한 문서에서 사용).

클래스 1의 필드와 클래스 2의 필드를 반환하려면 result 절에 해당 필드를 지정하십시오. 선택 this.field1, this.project.field2 FROM mydomain.Assessment WHERE this.project.owner = "value"