3

私はspring-data jpa 1.1.0.M1今使用していますが、はるかに高いバージョンを使用していたspring-data-mongodbため、spring-data-commons. offsetそのため、およびを含むクエリを含む特定のクエリに対して、サービスでエンティティ マネージャーを使用しましたlimit

ダウングレードが完了し、すべてがうまくいっているように見えるのでdata access、サービスのビジネス ロジックに関してはリポジトリ レベルですべてを維持し、多くのことを行いたいと考えています。

このドキュメントから、それが私が必要としているものだと理解してpageable interfaceいます。ただし、実装クラスPageRequestpage引数を取ります。それは私offsetが次のようになるということですか?

offset = page* limit; => page = offset/limit; 

私はそれを正しく理解していますか?これを読んでくれてありがとう。

4

2 に答える 2

-1

Spring は、1 から n の範囲のページ番号を使用します。

最初の 5 つの結果を取得するには、次を使用します。

new PageRequest(1, 5);

次の 5 つの結果を取得するには、次を使用します。

new PageRequest(2, 5);

ページ インデックスを以前の結果のオフセットと混同しないでください。

于 2016-01-10T14:05:48.637 に答える
-1

PageRequest オブジェクトには、ページとサイズを受け取るコンストラクターがあります。他のコンストラクターを使用すると、並べ替え方向などの追加の詳細を指定できます。

new PageRequest(int page, int size) 

参照: Spring PageRequest API ドキュメント

PageRequest、リポジトリの find メソッドの 1 つに引数として渡されます。次の例では、ブログの最初の 5 つのエントリを取得しています。

@RequestMapping("/")
public String blog(Model model) {
    Sort sort = new Sort(Direction.DESC, "postId");
    model.addAttribute("posts",
            postViewRepository.findAll(new PageRequest(0, 5, sort))
                    .getContent());
    model.addAttribute("tease", true);
    return "blog/blog";
}

この例では、repositoriesfindAll(PageRequest)メソッドの呼び出しによってorg.springframework.data.domain.Pageオブジェクトが返されます。このPageオブジェクトには、サイズやページ数など、基礎となる ResultSet に関する情報を取得できるいくつかの便利なメソッドが含まれています。

参照: Spring Page API ドキュメント

これらの便利な機能を考えると、Spring Data がこの作業を実行しているため、オフセットまたは現在のページの管理に関心を持つ必要があるかどうかはわかりません。

于 2012-11-03T19:12:23.207 に答える