Estou com dúvida sobre como colocar a quantidade de produtos e a data de geração do relátorio no JSON. Pensei em criar junto a query uma quantidade como:
public List<Produto> findPorData(Calendar dataLancamento) {
return manager.createQuery("select distinct(p), count(p.id) as quantidade from Produto p join fetch p.precos precos where p.dataLancamento >= :dataLancamento",
Produto.class).setParameter("dataLancamento", dataLancamento)
.getResultList();
}
Mas me retorna o erro de Cannot create TypedQuery for query with more than one return using requested result type ou seja não posso fazer mais de uma query no método em questão.
Como posso fazer 2 querys sejam juntas ou separadas para além de retornar a lista de produtos, possa colocar a quantidade e a data de Geração?
Sendo que meu controller só retorna uma lista de livros:
@RequestMapping(method=RequestMethod.GET)
@ResponseBody
public List<Produto> detalheJson(@RequestParam(value="data", required=false) String dataLancamento) throws ParseException{
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = format.parse(dataLancamento);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return dao.findPorData(cal);
}