2014-10-04 1 views
0

객관화의 SimpleQuery.endAt의 정확한 의미 란()? 문서에 "지정된 커서에서 쿼리 결과가 끝납니다."(https://code.google.com/p/objectify-appengine/source/browse/src/main/java/com/googlecode/objectify/cmd/SimpleQuery.java?r=a7402d1a9308fbb7b9fd6cb687e43be091d1bcb0#73) 두 가지 방법으로 해석 될 수 있습니다.Objectify SimpleQuery.endAt() - 정확히 어디에서 시작합니까?

커서가 결과 C를 가리키고 있으며 쿼리 제한을 X로 설정한다고 가정하면 endAt()는 [C-X, C] 또는 [0, min (X, C)] 범위의 결과를 반환합니까? 즉, 커서의 X 결과에서 시작하여 커서에서 항상 끝나거나 항상 처음부터 시작합니까?

편집 : 설명서는 이전 버전이 될 것이라고 생각하게 만들었지 만 실제로 실제로 관찰 한 내용은 후자의 동작입니다. 즉, 검색 결과에 대한 페이지 매김을 제대로 구현하려면 가장 최근의 두 커서가 아니라 모든 커서를 추적해야합니다. 괜찮아요,하지만 문서가 좀 더 명확해야한다고 생각합니다.

답변

0

Objectify의 endAt()은 저수준 API의 FetchOptions.endCursor()으로 커서를 전달하기 만합니다. limit()은이 값을 FetchOptions.limit()으로 전달합니다. 상호 작용은 Google에 의해 정의되며 문서화 된 것으로 보이지 않습니다. 내가 찾을 수있는 가장 적절한 비트는 다음과 같습니다

https://cloud.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/FetchOptions#endCursor(com.google.appengine.api.datastore.Cursor)

https://cloud.google.com/appengine/docs/java/datastore/queries#Java_Query_cursors

내가에서 appengine 구글 그룹에 물어, 아니면 GAE에 질문합니다 (객관화 및 자바 - 드롭을 일반화 또 다른 유래 질문을 다시 게시 할 것 특정 성격). 행운을 빌면 GAE/Java 커뮤니티보다 다소 큰 GAE/Python 커뮤니티에있을 수도 있습니다.

관련 문제