2011-07-31 20 views
5

¿Es posible devolver un mapa en lugar de una Lista desde una consulta JPA personalizada?¿Puede Hibernar consulta personalizada devolver un mapa en lugar de una lista?

Sé si es posible desde las Entidades mismas. En mi caso, tengo una consulta personalizada que devuelve algunas estadísticas en diferentes tablas para un rango de fechas.

Idealmente me gustaría que el mapa devuelto tenga la fecha como clave y la estadística como valor.

Respuesta

5

Usted sólo tiene que crear y poblar el mapa en solitario:

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

Eso es lo que he reunido. Esperaba que pudiera haber una forma inteligente de evitar la sobrecarga. Tx. – emt14

Cuestiones relacionadas