1

私はSpring JPAが初めてです。Product という名前のモデルがあります。products テーブルの最近のレコードを取得するための API エンドポイントを作成しようとしています。

public static interface Repository extends PagingAndSortingRepository<Product, Long>
   {
      List findTop2ByOrderByIdDesc();
   }

アプリケーション HAL Browser http://localhost:8080/api/v1/products/search/findTop2ByOrderByIdDesc を実行すると

次のようなエラーが表示されます

{
  "timestamp": 1440573947629,
  "status": 500,
  "error": "Internal Server Error",
  "exception": "org.springframework.dao.IncorrectResultSizeDataAccessException",
  "message": "result returns more than one elements; nested exception is javax.persistence.NonUniqueResultException: result returns more than one elements",
  "path": "/api/v1/products/search/findTop2ByOrderByIdDesc"
}

これを修正する方法。親切なアドバイス

4

1 に答える 1

6
List findTop2ByOrderByIdDesc();

ここでは、メソッド「findTop2ByOrderByIdDesc()」によってタイプ「リスト」のオブジェクトが返されることを期待していることをJPAに伝えています。findTop2ByOrderByIdDesc() によって実際に返されるのは List です。

したがって、「List findTop2ByOrderByIdDesc()」を「 」にList<Product> findTop2ByOrderByIdDesc()変更するだけです

于 2015-08-27T10:21:45.863 に答える