0

Webサービスを作成していますが、すべてのクエリをページ分割するソリューションがあるかどうか疑問に思いました。現在、findAll(int offset, int limit)などのオーバーロードされたメソッドを作成しています。しかし、ファインダーでロジックの重複をそれほど作成しない別の解決策があるかどうか疑問に思いました。これをデータベースレベルで実行したいと思います。それとも、私が思いついた解決策はOKのアプローチですか?

4

1 に答える 1

4

重複が主な懸念事項である場合は、ロジックの重複を避けるためにメソッドのオーバーロードを使用することをお勧めします。

  1. findAllあなたが述べたように、ページネーションをサポートするためにすべての既存の方法を変更してください:

    findAll(int offset, int limit)
    
  2. 次に、オーバーロードされたメソッドを作成し、手順1で作成しfindAll()たメソッドをデフォルト値で内部的に呼び出しfindAllます(例:以下)。

    findAll(){
      //set appropriate defaults, Integer.MAX_VALUE is just an example 
      findAll(0, Integer.MAX_VALUE);
    }
    
于 2012-11-04T15:02:21.927 に答える