2012-12-06 4 views
2

Objectify를 사용하면 객체의 하위를 쿼리 할 수 ​​있습니다. 객체는 null 부모도 가질 수 있습니다.목록 null 부모의 자녀?

Parent parent; 
List<Children> children = ofy().query(Children.class).ancestor(parent).list(); 

내가 null 부모를 쿼리 할 수 ​​있다면 궁금한가요? 그래서 부모가없는 모든 아이들을 알고 싶습니다. 위에서 null을 전달하면 예외가 발생합니다.

또한 null propValue 속성을 사용하여 쿼리를 만들면 아무 것도 반환하지 않습니다.) (조상에 null을 전달하는 것은 GAE 코드에서 예외를 (나는 그것을하지 믿는)가 발생하는 경우

Query<T> q = ofy().query(clazz); 
    q.filter(propName, propValue); 
    return q.list(); 

답변

2

는 다음 예,이 애플리케이션 엔진의 제한 사항입니다.

쿼리 개체는 변경할 수 없으므로 두 번째 예제에서는 filter() 호출이 아무 효과가 없습니다. 부모가 null 모든 엔티티를 얻는 방법에 대한 답변에서

q = q.filter(... 

, 당신은 키에 대한 불평등 필터로 작업을 수행 할 수 있습니다 :

Key<Parent> firstParent = Key.create(Parent.class, 1L); // first possible parent value 
List<Children> children = ofy().query(Children.class).filterKey("<", firstParent).list(); 
+0

굉장 당신은 Q 변수를 다시 할당해야합니다! 고맙습니다! –

+0

기다려라. 나는 여기에 뭔가 빠졌고, 지금 filterKey가 있느냐? ??? –

+0

ofy()를 사용하고 있기 때문에 filterKey()가있는 Objectify4를 사용하고 있다고 가정합니다. – stickfigure

관련 문제