Olá Galera
Tenho a seguinte chamada a uma classa DAO para realizar uma query via createSQLQuery pelo Hibernate:
List<AgendaVO> schedules = agendaDAO.consult(agendaVO);
Faço um Cast para ao invés do retorno ser um array de objetos a query me retornar uma list do tipo AgendaVO
List<AgendaVO> schedules = (List<AgendaVO>) session.createSQLQuery("select * from cliniconn.agenda where agenda.exam_date = '"+agendaVO.getExamDate()+"'").list();
Preciso de uma list do tipo AgendaVO para mostrar essa list via Displaytag.
Porém esse cast não é realizado.
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to br.com.daykohealthcare.clinicasabedotti.model.AgendaVO
Alguem sabe como posso realizar esse cast e resolver esse pequeno problema?
Em mensagens de erro, “[Ljava/lang/Object;” é a mesma coisa que “Object[]”. Portanto, você tem um Object[], que nunca poderá ser convertido diretamente via cast para um List<AgendaVO>. Você terá de pegar uma variável Object[] e ir manualmente adicionando cada objeto (supondo que o objeto seja um AgendaVO) para um List<AgendaVO>.
Sim é uma session do hibernate.
Fato é que preciso de uma rotina que independente do mapeamento
pegue uma list de objetos e crie uma list de objetos no caso AgendaVO.
Porém to meio sem idéia pra escrever ela.
Acabei resolvendo modificando minha DAO e abandonando CreateQuery ou CreateSQLQuery pelo session.save salvando o próprio objeto POJO AgendaVO mapeado com a minha tabela. Obrigado a todos.