Bom, até aí tudo bem, os mapeamentos no hibernate estão corretos, o insert funciona normalmente.
O problema ocorre qdo desejo visualizar os registros desta lista na página de consulta.
Essa página funciona da seguinte maneira, faço uma consulta de X, essa pesquisa me retorna um List de X, que por sua vez possui uma lista de Y.
Faço um #foreach para X que imprime corretamente os dados na página e para cada iteração de X tenho um outro #foreach que itera sobre a lista de Y caso X a possua, porém nada é impresso dessa lista de Y.
Gostaria de saber se alguém já passou por isso e como resolveu.
Não sei se estou esquecendo de algo, mas a principio a lista de Y dentro de X vem preenchida.
#foreach( $o in $list )
<p>$o.id</p>
#foreach( $y in $o.listY() )
<p>$y.id</p>
#end
#end
Bem, o código está normal. Numa aplicação aqui faço exatamente isso em diversas partes do sistema.
Se a listY de O está declarada como lazy, lembre-se que tem que manter a session aberta até terminar de renderizar a view. Isto está acontecendo? Alguma exceção é lançada?
Bem, se nenhuma exceção é lançada, você tem certeza absoluta que não há nenhum erro de digitação e você não colocou a core do texto igual a do fundo, ou as listas todas estão vazias ou eu enlouqueci hehe
Eu possuo uma conta com 4 parcelas porém quando retorno da pesquisa de contas, essa conta retorno com apenas um registro na lista de parcelas ao invés de 4.
Opa cara, nem vi seu tópico (aparentemente a marcação de tópicos não lidos ainda não está ok).
Bem, vejamos:
No relacionamento one-to-many a propriedade KEY deve indicar a coluna (na tabela do lado muitos) que é a foreign key. Tem certeza que isto está certo? Provavelmente esta é a razão de estar retornando apenas um registro.
E quanto a não aparecer nada, só me resta uma coisa:
#foreach( $conta in $contas )
#foreach( $parcela in $conta.parcelas ) // pode fazer assim
$parcela.getDataVencimento()</td>
$parcela.getValor()</td>
#end
#end
Essas <tds> não me parecem muito certas, que tal abri-las e fechá-las direitinho?
E não se esqueça de verificar com 100% de certeza se a Lists ‘contas’ realmente contém algum valor.