2011-07-31 9 views
5

カスタムJPAクエリからリストの代わりにマップを返すことはできますか?カスタムクエリは、リストの代わりにマップを返すことができますか?

エンティティ自体から可能かどうかはわかります。私の場合は、日付の範囲について異なるテーブルにいくつかの統計を返すカスタムクエリがあります。

理想的には、返されたマップの日付をキーに、statを値として設定したいと思います。

答えて

5

あなただけの自分でマップを作成して移入する必要があります:

List<Object[]> rows = query.list(); 
Map<Date, Integer> statsPerDate = new HashMap<Date, Integer>(rows.size()); 
for (Object[] row : rows) { 
    Date date = (Date) row[0]; 
    Integer stat = (Integer) row[1]; 
    statsPerDate.put(date, stat); 
} 
+1

を私が集まって何が。オーバーヘッドを避けるための巧妙な方法があることを期待していました。 Tx。 – emt14

関連する問題