To fazendo um select tentando pegar o ultimo codigo na tabela, como jogo isso em um inteiro para retornar?
public int getMaxIdInscricao(){
Session sessao = HibernateUtility.getSession();
Transaction tx = sessao.beginTransaction();
int i;
Query select = sessao.createQuery("select max(ev.INS_ID) from TB_EVENTOS as ev");
tx.commit();
sessao.close();
}
Olá colega… o retorno da Query é um List de Object[]. Neste caso tu vai
fazer:
Query select = sessao.createQuery(“select max(ev.INS_ID) from TB_EVENTOS as ev”);
[code]List result = select.list();
Iterator itResult = result.iterator;
while(itResult.hasNext()){
Object [] o = (Object []) itResult.next();
Integer max = o[0];
}
[/code]
Neste caso tua list vai ter um unico element, então você pode usar o método uniqueResult() ao invés de list() . Coloquei as duas formas pra te mostrar como iterar o resultado, pois pelo que vi vc não sabia.
Double max = (Double) sess.createSQLQuery("select max(cat.weight) as maxWeight from cats cat")
.addScalar("maxWeight", Hibernate.DOUBLE)
.uniqueResult();
Este exemplo está na página 153 da Hibernate Reference Documentation, Version: 3.0.5
Obs.: Para fazer uma consulta, não é necessário iniciar e finalizar uma transação.
foi um SQL exatemente igual
deu um erro de nome de coluna inválido , mas a coluna existe nesta tabela , e este select funciona perfeitamente pelo SQL navigator