2011-09-11 1 views
0

두 클래스가 있습니다 : ParentChild입니다. 부모는 자식 개체 목록이 있고 자식 개체는 @Persistent (mappedBy = "parent")을 사용하는 부모 개체에 대한 참조를가집니다.JDO를 사용하여 AppEngine의 Many-To-One에서 엔티티를 필터링하는 방법

어떻게 부모 개체 속성으로 자식 개체를 필터링 할 수 있습니까? 나는 시도했다 query.setFilter("parent.key == " + parentKey);하지만 그 작동하지 않았다. 부모의 속성을 어떻게 든 자식에 매핑해야합니까?

저는 여기에있는 것과 거의 같은 것을 묻고 있습니다. How to filter entities by their parents in ManyToOne side in Google App Engine 그러나 JPA가 아닌 JDO를 사용하고 있습니다.

답변

3

수 없습니다. 이렇게하려면 App Engine 데이터 저장소가 지원하지 않는 조인이 필요합니다. 대신, 부모 기준과 일치하는 모든 부모를 가져온 다음 자식에 대한 각 결과에 대해 별도의 쿼리를 수행하거나 비정규 화하고 관심있는 속성을 자식 엔터티에 추가하십시오.

+0

답변 해 주셔서 감사합니다. 그런데 왜 부모는 부모를 가져 오는 데 사용할 수 없다면 그 부모에게 연결되는 속성을 가지고 있습니까? –

+1

@Rob 부모를 가져 오는 데 사용할 수 있습니다. 단지 쿼리의 부모 속성을 참조하는 데 사용할 수 없습니다. 주어진 부모가있는 모든 하위 항목에 대한 쿼리 만 수행하려는 경우 상위 수준 쿼리는 JDO에서 지원되지 않습니다. 하위 수준 API에서만 지원됩니다 (http://code.google.com/appengine). /docs/java/datastore/queries.html 데이터베이스 프레임 워크를 선택할 수 있다면 Objectify로 전환하는 것이 좋습니다. –

+0

답장을 보내 주셔서 감사합니다. Objectify를 시도한 다음 데이터베이스 브리지를 다시 코드화할지 여부를 선택합니다. –

관련 문제