E tambem mostre pra gente o que o ClassCast esta reclamando. Acho que ele tava te devolvendo Object[].
M
mendigosujo
O que seria o gp?
Paulo, tenho outro problema…acho que deve ser besta pq nessa minha query, notei que ela retorna o resultado de todas as tabelas do inner join e eu só preciso os dados da tabela grupo_procedimento, a sua alteração me parece que vai trazer somente a tabela em questão, estou correto?
M
mendigosujo
Paulo Silveira:
Troca o "select * from grupo_procedimento "
por
“select gp from grupo_procedimento as gp”
E tambem mostre pra gente o que o ClassCast esta reclamando. Acho que ele tava te devolvendo Object[].
Alterei a query e recebi o seguinte erro:
Resolvi!
Esqueci de alterar outro campo, mas ele está me trazendo de uma forma estranha, como se fosse uma única coluna, ai não consigo setar pro objeto, tem alguma idéia amigos?
O mapeamento ta correto, mas como ele retorna uma ‘única coluna’, acontece isso! Preciso receber como String e ‘cortar’ em cada vírgula? Isso não seria uma gambiarra?
Mudei a query para:
while(i.hasNext()){
AgendamentoBean agendamento = (AgendamentoBean) i.next();
query = session.createSQLQuery("select grupo_procedimento_id, grupo_procedimento_nome from grupo_procedimento " +
"inner join procedimento on grupo_procedimento.grupo_procedimento_id = procedimento.procedimento_id " +
"inner join sala on procedimento.procedimento_id = sala_procedimento_id " +
"inner join unidade on sala.sala_unidade_id = unidade.unidade_id where unidade.unidade_id = " + agendamento.getAgendamentoRelacionamentoID());
GrupoProcedimentoBean grupoProcedimento = new GrupoProcedimentoBean();
//resultado = query.list();
grupoProcedimento = (GrupoProcedimentoBean) query.uniqueResult();
}
E voltei a receber o erro inicial que era:
[]'s
M
mendigosujo
Achei uma solução mas não sei se é a melhor:
SQLQuery sql = session.createSQLQuery("select * from grupo_procedimento " +
"inner join procedimento on grupo_procedimento.grupo_procedimento_id = procedimento.procedimento_id " +
"inner join sala on procedimento.procedimento_id = sala_procedimento_id " +
"inner join unidade on sala.sala_unidade_id = unidade.unidade_id where unidade.unidade_id = " + agendamento.getAgendamentoRelacionamentoID()).addEntity("br.com.bean.grupoProcedimento.GrupoProcedimentoBean");
Existe alguma outra solução? Para usar a HQL, eu teria que criar os relacionamentos no xml?
[]'s
Paulo_Silveira
chame o addEntity como vc fez antes.
pela sua query, acho q vc nao precisava usar createSQLQuery. Uma query HQL serviria e ai seria mais simples…
M
mendigosujo
Eu pensei nisso mas como a aplicação ta bem fraca e não tem mapeamento nenhum de relacionamento de bancos, não sei se o HQL iria funcionar!
Obrigado pela ajuda
[]'s
Paulo_Silveira
realmente nao ia funcioanr se os relacionamentos nao estao mapeados…