[RESOLVIDO]Carregar objeto

Pessoal,

A ideia é ao digitar o codigo da guia, trazer toda a linha selecionada, através da lista, gostaria que executasse a comando abaixo
e carregasses a minha view, porem esta dando um erro, falando que tem que ser uma arraylist
Obs. Nao gostaria de setters todos os campos na mão, pois sao muitos campos e select com o banco de dados esta funcionando perfeitamente.
Teria alguma alternativa, ou terei que setters todos os campos na “MÃO”.

Tem como carregar o objeto (Cadguia)

               Cadguia cadguia1 = null;
            
                List<Cadguia> cadguia2 = servico.burcarcadguiaporcodigo(getNroguia());
                cadguia1=(Cadguia) cadguia2;
                setObj(cadguia1);


Caused by: java.lang.ClassCastException: java.util.ArrayList cannot be cast to br.uniplan.modelo.planouni.Cadguia
	at br.uniplan.controle.CadguiaMbeancomplem.pesquisarguia(CadguiaMbeancomplem.java:81)
	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)

*********************************************************************Bean completo

@ManagedBean
@ViewScoped
public class CadguiaMbeancomplem extends ManagedBeanGenerico<Cadguia, CadguiaServico> implements Serializable{

private Cadguia obj = new Cadguia();


    public void pesquisarguia() throws ParseException{
        if (getNroguia()!= null) {
            
                Cadguia cadguia1 = null;
            
                List<Cadguia> cadguia2 = servico.burcarcadguiaporcodigo(getNroguia());
                cadguia1=(Cadguia) cadguia2;
                setObj(cadguia1);
                
       }
       
    }   



    public Cadguia getObj() {
        return obj;
    }

    public void setObj(Cadguia obj) {
        this.obj = obj;
    }

Não sei se entendi bem, mas porque tu não gera automático um construtor com todos estes campos? Caso não adiantar isso, EU não vejo outro opção se não for setar tudo na mão.

entao iria gerar um construtor na minha entidade, mas como eu preencheria o meu obj??? desculpe a ignorância.

Acho que seria basicamente isso. Se você utiliza Eclipse, use o atalho ALT+SHIFT+S e selecione Generete Constructor using Fields. Tenta isso, vai te poupar mão de obra!

Só um duvida, pq usar construtor neste meu problema ???

Pessoal, agradeço a ajuda de vcs., resolvi assim:

                Cadguia cadguia1 = null;
                setNomeusernaoencontrado(""); 
                try {  

                  cadguia1 = servico.burcarcadguiaporcodigo(getNroguia());

                  if (cadguia1.getCodcid() != null) {
                          setCodcid(cadguia1.getCodcid().getCodcid());
                  }
                  setObj(cadguia1);      


                } catch (Exception ex) {
                    System.out.print("Erro ----"+ex.getMessage());
                    setNomeusernaoencontrado("Ficha não Encontrada!!!"); 
                }


****************************************

    public Cadguia cadguiaporcodigo(Integer vcodigo) {    
        try {       
                //String query = "select p.prestespPK.codprest, p.numregistro from Prestesp p ";                
            String query = "select c from Cadguia c where c.codguia= "+vcodigo+"";                
          return (Cadguia) emAux.createQuery(query).getSingleResult();            
        }
        catch (Throwable ex) {             
                System.err.println("failed.----" + ex);  
                throw new ExceptionInInitializerError(ex);  
        }  
    
    }

Uma dica, se proteja contra SQL Injection, não utilize desta maneira

String query = "select c from Cadguia c where c.codguia= "+vcodigo+"";   

Tente desta forma, a forma correta!:

SQLStringBuffer sql = new SQLStringBuffer();

sql.addLine(" select c                                   ");
sql.addLine("  from Cadguia c                       ");
sql.addLine("where c.codguia =  :p_vcodigo   ");
			
Query query = getCleanEm().createQuery(sql.toString());
query.setParameter("p_vcodigo   ", vcodigo);
			
return (Cadguia) query.getSingleResult();