Try this hql changes,
@Override
@Transactional(readOnly = true)
public List<ProfilingReport> getProfilingReports(final Date fecha) {
String query = "from ProfilingReport p "
+ "where p.date = :fecha "
+ "group by p.serviceName";
return this.hibernateTemplate.findByNamedParam(query, "fecha", fecha);
}
Then you need to find average of runTime by java business logic itself.
Otherwise with your existing list of array object you can iterate and create ProfilingReport object and assign these array values to relevant properties in ProfilingReport. Finally add each ProfilingReport object into a list(List).