Pessoal, tenho um atributo na minha classe que é anotado como @oneToMany ou seja, vamos ao código:
Classe Responsavel
@OneToMany(mappedBy=“cadRespContrato”)
private List contratos;
Neste Caso um Responsável pode ter X contratos, uma lista.
Não estou sabendo como fazer no XHTML para percorrer essa lista e exibir na tela pegando o item da lista (oneToMany) relacionado para cada pessoa no dataTable.
abraços e obrigado.
Qual framework web vc está utilizando e qual query é usada p/ recuperar essas entidades?
Estou utilizando o JSF puro, e algumas tags e a query é retornada através do Criteria que me retorna uma lista do Objeto principal.
Qual é exatamente a sua idéia de apresentação desses dados e como é a query q é usada p/ retornar essas entidades?
Seguinte, a apresentação será assim:
eu tenho uma dataTable que me lista todas as informações dos Responsáveis pelos contratos. uma das colunas do datatable será o número do contrato a qual esse responsável pertence, mas isso é uma lista, que pode conter 1 ou N contratos, mas preciso do contrato específico para essa linha do dataTable. Usando o operador (.) para listar o conteúdo do objeto Responsável, o atributo que é uma lista não consegue identificar qual é o contrato correto para aquela linha da datatable ja que existe mais de um por ser uma lista.
a Quey é um findAll() no hibernate que me retorna uma List para ser usado no datatable onde vou iterar para montar a tabela.
Qual o critério p/ determinar qual o contrato corréto p/ uma determinada linha? Afinal se as linhas possuem Responsavel e responsável pode ser responsável p/ N [c]Contrato[/b]s.
na tela de filtro é preenchido o número do contrato. ele identifica a qual contrato o responsável pertence, se não preencher tenho que trazer todos.
Kra, um possível solução é criar um função do facelets.
Que resposta mais tosca!.. ajudou muito!
O tópico esta antigo, mas esta ai um resposta caso alguém acesse o tópico precisando de uma resposta.
Usa um repeat. se eu não me engano neste componente ajax que vc esta usando tem.
Mas se não tiver faz um teste com o repeat do facelets.
ficaria assim.
<ui:repeat var="contato" values="responsavel.contatos">
<h:outputLabel value="contato.nome" />
<h:outputLabel value="contato.celular" />
<ui:repeat>
abs