Bom dia galera, tenho uma tabela no banco que sua chave primaria é composta, pelo campo "CODIGO", "ANO" e "MES". Eu precisava fazer uma criteria que me retorna o ultimo registro de cada chave composta por exemplo.
CODIGO | ANO | MES
-----------------------------
19 | 2011 | 10
19 | 2011 | 11
20 | 2011 | 10
20 | 2011 | 11
Eu preciso que minha criteria me retorne os ultimos registro de cada código, no caso esse resultado:
CODIGO | ANO | MES
-----------------------------
19 | 2011 | 11
20 | 2011 | 11
Alguem poderia me ajudar com isso? Desde já obrigado.
Aqui está minha criteria, ela me retorna TUDO do banco conforme a ordem na criteria.
try {
Transaction transaction = session.beginTransaction();
Criteria criteria = session.createCriteria(Leitura.class);
criteria.addOrder(Order.desc("ano"));
criteria.addOrder(Order.desc("mes"));
criteria.addOrder(Order.asc("codigo"));
listaLeituras = (ArrayList<Leitura>) criteria.list();
transaction.commit();
}
