Objectify3.0 で Java Google App Engine を使用しています (そのため、一部の種類は標準の JPO/JPA とは異なるように見える場合があります)。
とにかく、プロパティでソートされたすべてのエンティティを取得し、後で取得するために挿入して、挿入されたソート順で結果を取得できるようにしたいと考えています。
基本的に、これは私がいくつかのことをしたいことを意味します:
- 「名前」で昇順にソートされたすべてのエンティティ (約 10,000) を取得します。一度にすべてのエンティティを取得しようとすると、30 秒の応答制限に達します。
- 取得した順序のエンティティを、SortedByNameGame という別の種類に挿入します。これは、ゲームとまったく同じ種類です (以下を参照)。
- SortedByNameGame の種類からエンティティ (たとえば、genre = action を使用) を取得しますが、エンティティが挿入された "名前" プロパティの昇順で並べ替えて返されます。
私のゲームの種類は次のようになります。
public class Game {
    @Id private Long id; //This is my key, auto generated by objectify  
    private String name;
    private String genre; 
    private Date releasedate;
    //ommitting getters and setters 
}
私の SortedByNameGame の種類は次のようになります。
public class SortedByNameGame {
    @Id private Long id; //This is my key, auto generated by objectify  
    private Long gameid; //This is the Long id of the Game kind shown above
    private String name;
    private String genre; 
    private Date releasedate;
    //ommitting getters and setters 
}
私はいくつかのアプローチを検討して試しましたが(再帰的なリクエストを中心に)、うまくいきませんでした。例えば:
- タスクを持つカーソル: 私は基本的にこのメソッドを使用しています: http://code.google.com/p/objectify-appengine/wiki/IntroductionToObjectify#Cursors 
- RequestDispatcher.forward(request, response) を持つカーソル。http://code.google.com/p/objectify-appengine/wiki/IntroductionToObjectify#Cursorsと同様 
- HttpServletResponse.sendRedirect(/pathToThisServlet) を持つカーソル。http://code.google.com/p/objectify-appengine/wiki/IntroductionToObjectify#Cursorsと同様 
- バックエンド: http://code.google.com/appengine/docs/java/backends/overview.html。彼らは30秒の応答時間制限を持っていないので、これを調べています. ただし、これらはまだ機能していません。つまり、ブラウザからアクセスする方法がわかりません。404 Error Forbidden が表示されます。 
同じ URL/サーブレットを要求する再帰的なアプローチは不可能だと思います。つまり、「アプリが要求の無限の再帰を引き起こすのを防ぐために、要求ハンドラーは独自の URL を取得することを許可されていません。それでも、無限の原因になる可能性があります。ユーザーが提供する URL のリクエストをアプリで取得できる場合は注意が必要です。」(ソース: http://code.google.com/appengine/docs/java/urlfetch/overview.html#Responses )
私の質問は
- これらの再帰キュー タスクが作成されていない、または再帰リクエストが機能していないなど、何が間違っていますか? 
- または、私が望むことを行うために他にどのようなアプローチが存在しますか?