Re:Select max dinâmico, erro na conversão

2 respostas
TFAGUNDES6

cara vê se ti ajuda !!

Tenta colocar o código como parâmetro.

Exemplo:

String sql = "from teste t where t.campoTabela = :codigo"; //monta o seu select

			Query q = this.dao.getSession().createQuery(sql);//executa ele
			q.setLong("codigo", codigo);//parâmetro da query,  recebe o valor do código no parâmetro do método
			
			return q.list();

flw…

2 Respostas

berdam

Galera, estou tentado executar este método com hibernate e firebird para geração de uma nova chave primária, mas acontece que ocorre este erro de conversão, não consegui de jeito nenhum converter de long para int, string ou outro tipo de variável que for.

Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long

Alguém tem alguma idéia??

public void SqlMax(Class classe, String codigo){
        Session session =  HibernateUtil.getSessionFactory().openSession();
        
        Long cd = (Long) session.createQuery("select max("+codigo+") from "+classe.getCanonicalName()).uniqueResult();
berdam

o erro apresentado se diz respeito a conversão, n tem alguma conversão de Long para int??

Criado 13 de setembro de 2008
Ultima resposta 13 de set. de 2008
Respostas 2
Participantes 2