Boa noite.
Queria uma ajuda de vocês para criar um método java que calculasse a quantidade de clientes cadastrados no meu banco por idade, ex:
idade | quantidade
7 … 0
18…10
A minha classe Cliente, tem o atributo dtNasc .
Não sei se meu raciocínio está certo, mas entendo que tenho que pegar a quantidade cadastrada no banco, depois pegar a data de nascimento de cada cliente e calcular a idade e por fim contar quantos com idade de 7 a 99 anos.
No meu Dao, estava tentando fazer assim:
public List<String> getQtdClientePorIdade( ) {
ArrayList<String> listPorIdade = new ArrayList<>();
Criteria crit = this.getSession().createCriteria(Cliente.class)
.setProjection(Projections.rowCount())
.add(Restrictions.eq("status", "Ativo"));
Long qtdClienteAtivo = (Long) crit.uniqueResult();
if (qtdClienteAtivo == null) {
qtdClienteAtivo = 0L;
}
for (int i = 0; i <= qtdClienteAtivo; i++) { // Aqui pegaria a quantidade de clientes no banco
}
for (int i = 7; i <= 99; i++) { // Aqui faria o calculo de quantos clientes por idade de 7 a 99 anos
listPorIdade.add(s);
}
return listPorIdade;
}
Não sei se esse laço está correto e como eu poderia calcular a idade pela data de nascimento no momento que cada cliente fosse pego.
Teriam como me ajudar nisso?
Grato