Eu aqui novamente…
Estou com um problema.
Tenho uma classe que tenho 3 listas, todas funcionam perfeitamente. Precisei criar a quarta lista e está me dando muita dor de cabeça. Parece que esotu pecando em algo incrivelmente besta, ma ainda não descobri o que é.
Li as documentações do Hibernate, entretanto não consegui resolver meu problema.
Bom, vamos aos dados.
O XML de minha Classe o qual tenho a lista;
<set cascade="save-update" inverse="true" lazy="true" name="listaContratos">
<key column="id" />
<one-to-many class="br.com.mcluck.noiva.sites.Contrato"/>
</set>
Meu XML de minha classe Contrato, referida no Set da Classe Noivos (do XML citado acima):
<many-to-one name="noivos" class="br.com.mcluck.noiva.sites.Noivos" cascade="all" fetch="join" update="true" insert="true" lazy="no-proxy" column="idnoivos" />
Este XML eu refiz de acordo com o que li na documentação do Hibernate, mas parece que entendi mau. Normalmente, faria assim (e funcionaria, pois como disse, tem outros 3 Sets na mesma classe e funcionam desta forma):
<many-to-one class="br.com.mcluck.noiva.sites.Noivos" column="idnoivos" name="noivos" lazy="proxy" />
Pelo que li na Documentação, poderia usar true nos lazys. Para que a lista seja carregada apenas quando solicitada, entretanto, se coloco true, o Hibernate falha no carregamento.
Da forma como está agora, está me dando o velho erro de tentativa de carregar uma coleção com uma sessão finalizada:
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: br.com.mcluck.noiva.sites.Noivos.listaContratos, no session or session was closed
Sei que para quem tem experiência, o problema deve estar na cara, mas não tenho tanta experiência com Hibernate. Aprendo conforme uso e preciso.
Preciso de ajuda com isto, mas peço que sejam o mais detalhado possível, pois, como já mencionei, não tenho muita experiencia com Hibernate.
Agradeço toda a atenção dispensada.
Att,
McLuck