Usei uma HQL como recomendou, essa abaixo:
public List<Atendimento> listarTodosOrdenadosPelasMaisAntigos() {
Query consulta = session.createQuery("from Atendimento a left join a.receptores right join a.doadores");
return consulta.list();
}
}
Fez com que o Hibernate gerasse este SQL:
Hibernate:
/*
from
Atendimento a
left join
a.receptores
right join
a.doadores */ select
atendiment0_.ID_ATENDIMENTO as ID1_1_0_,
receptor2_.ID_RECEPTOR as ID1_2_1_,
doador4_.ID_DOADOR as ID1_0_2_,
atendiment0_.DATA_COLETA as DATA2_1_0_,
atendiment0_.IDENT_AC_IRREGULAR as IDENT3_1_0_,
atendiment0_.NUM_ORDEM as NUM4_1_0_,
atendiment0_.TESTE_COMPATIBILIDADE as TESTE5_1_0_,
receptor2_.DATA_NASCIMENTO as DATA2_2_1_,
receptor2_.NOME_HOSPITAL as NOME3_2_1_,
receptor2_.NOME_RECEPTOR as NOME4_2_1_,
receptor2_.NUM_BOLSA as NUM5_2_1_,
receptor2_.NUM_DOACAO as NUM6_2_1_,
receptor2_.NUM_PRONTUARIO as NUM7_2_1_,
receptor2_.COOMBS_DIRETO as COOMBS8_2_1_,
receptor2_.D_FRACO as D9_2_1_,
receptor2_.TIPO_HEMO as TIPO10_2_1_,
receptor2_.PAI as PAI2_1_,
receptor2_.RH as RH2_1_,
receptor2_.TIPO_SANGUINEO as TIPO13_2_1_,
receptor2_.SEXO as SEXO2_1_,
receptor2_.VOLUME as VOLUME2_1_,
doador4_.CHAGAS as CHAGAS0_2_,
doador4_.DATA_ENTRADA as DATA3_0_2_,
doador4_.DESTINO as DESTINO0_2_,
doador4_.HEPATITE_B as HEPATITE5_0_2_,
doador4_.HEPATITE_C as HEPATITE6_0_2_,
doador4_.HIV as HIV0_2_,
doador4_.HTLV as HTLV0_2_,
doador4_.INICIAIS_DOADOR as INICIAIS9_0_2_,
doador4_.NOME_DOADOR as NOME10_0_2_,
doador4_.NUM_BOLSA as NUM11_0_2_,
doador4_.NUM_DOACAO as NUM12_0_2_,
doador4_.OBS as OBS0_2_,
doador4_.PRODUTO as PRODUTO0_2_,
doador4_.SIFILIS as SIFILIS0_2_,
doador4_.TIPO_HEMO as TIPO16_0_2_,
doador4_.PAI as PAI0_2_,
doador4_.RH as RH0_2_,
doador4_.TIPO_SANGUINEO as TIPO19_0_2_,
doador4_.VOLUME as VOLUME0_2_
from
atendimento atendiment0_
left outer join
receptor_atendimento receptores1_
on atendiment0_.ID_ATENDIMENTO=receptores1_.ID_ATENDIMENTO
left outer join
receptor receptor2_
on receptores1_.ID_RECEPTOR=receptor2_.ID_RECEPTOR
right outer join
doador_atendimento doadores3_
on atendiment0_.ID_ATENDIMENTO=doadores3_.ID_ATENDIMENTO
right outer join
doador doador4_
on doadores3_.ID_DOADOR=doador4_.ID_DOADOR
Agora, ao exibir uma dataTable, estou tendo certos erros:
Fev 06, 2013 4:40:31 PM com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException
SEVERE: Error Rendering View[/listaTransfusoes.xhtml]
java.lang.NumberFormatException: For input string: "dataColeta"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
Porquê isso acontece?
E mais importante: Como resolver?