Select Max - erro

Pessoal, estou tentando fazer o select max, porem esta dando erro abaixo

Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast to [Ljava.lang.Object;
at br.uniplan.servico.planouni.CadguiaServico.salvarobjeto(CadguiaServico.java:48)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052)
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124)
at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:5388)
at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:619)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:800)


                List<Object> objectList = dao.seq_cadguia();

                Iterator iterator = objectList.iterator();
                
                Integer sequencia_guia = 0;
                
                while(iterator.hasNext()){
                    Object []obj = (Object[])iterator.next();
                    sequencia_guia =(Integer) obj[0];
                    
                }   


********************************************
    @Interceptors({GerenciaTransacaoInterceptor.class})  
    public List<Object> seq_cadguia() {    
        try {      
            
            String query = "select max(c.codguia + 1) as codguia from Cadguia c ";                            
            return (List<Object>) emAux.createQuery(query).getResultList();            
        }
        catch (Throwable ex) {             
                System.err.println("failed.----" + ex);  
                throw new ExceptionInInitializerError(ex);  
        }  
    }

Experimenta tirar o “+1” do select

mesmo erro alessandro

Veja oq retorna do emAux.createQuery(query).getResultList() e olha o cast q vc faz

Parece que sua consulta retorna somente um Integer, já que um Select Max,
e você está tentando fazer casting para um List.

Cara, tenta usar o GROUP BY na sua query, pois você está usando uma função de agregação e obrigatóriamente você precisa agrupar o resultado.

pq o group by alexandre ???

Vc viu oq eu falei ?

Veja o tipo de dado q está retornando do emAux.createQuery(query).getResultList();
Use o debug pra ver, depois olhe o cast ( List ) q vc ta fazendo

vi sim e vou testar, é que uma das respostas nao tinha entendido o fato de usar group by, vou testar e dou um feedback

abc

Cara, quando você usa função de agregação você precisa agrupa as informações, mais no seu caso não será necessário pois você está trazendo no seu select somente um campo…

O problema está aqui

você quer converter um objeto em um outro objeto??? :?:

Entao alexandre, quero converter esse objeto para Inteiro, pois preciso ter a informacao, do ultimo registro +1

Obrigado