2016-07-20 7 views
0

私は、Submissionという名前のクラスとそのリポジトリのための別のSubmissionDAOを持っています。サブミッションクラスには、ID、著者、タイトルなどのいくつかのフィールドがあります。JpaRepository Queriesを使用した値の出現の取得

私がやりたいことは、データベースを検索し、その中の各著者値の(カウント、著者)ペアのリストを取得することです。データベース。私は、クエリ明らか

@Query(value = "select author, count(*) from submissions GROUP BY author order by count(author) desc", nativeQuery = true) 
List<Submission> findByAuthorOccurance(); 

を作っ

それは提出オブジェクト内のカウント値を置くことができないので、これは動作しません。 私の質問は、このペアの値をコントローラに戻す方法についてです。

検索を試みましたが、何も表示されませんでした。

答えて

0

誰かが将来何らかの理由でここに来る場合、私は問題を考え出しました。

クエリーから取得するデータポイントの範囲(つまり作成者とカウント)を指定すると、値がオブジェクト配列(Object [])にグループ化され、それらが通常のリストに配置されます。

@Query(value = "select author, count(*) from submissions GROUP BY author order by count(author) desc", nativeQuery = true) 
List<Object[]> findByAuthorOccurance(); 
クエリのために

List<Object[]> map =submissionRepository.findByAuthorOccurance(); 
    for(Object[] objs : map){ 
     System.out.println((String)objs[0]+" : "+(BigInteger)objs[1]); 
    } 

データを取得するには:

だから私のコードは次のようになってしまいました。

関連する問題