Problemas com acesso a propriedade persistente do Hibernate com GWT

Fala galera do GUJ, espero encontrar alguem que possa me ajudar.
Estou desenvolvendo uma aplicação para meu TCC web com GWT + Hibernate.
Realizei os mapeamentos das minhas classes de negócios para o Hibernate, testei, tudo funcionando bonitinho.

Então o próximo passo foi trazer isso para o GWT, fiz um teste de inclusão de um objeto (insert) pelo Hibernate e funcionou, agora quando vou fazer uma consulta, retornar uma Colection atraves do hibernate

  • Ele efetua a consulta.
  • Retornar todos os meus objetos, no caso um objeto da classe Artigo, porém essa classe Artigo é composta por outros dois objetos Historico, Favoritos. O Hibernate retorna esses objetos com persistencia pois é um relacionamento 1:N no BD, isso ocasiona um erro no GWT (Em anexo).
    Se eu quando retorna o objeto dou um setFavoritos(null); setArtigos(null), tudo funciona.
    Na minha classe os objetos Favoritos e Historico são do tipo java.util.Set (isso devido o uso do Hibernate).

Alguém ai ja passou por esse problema ???


Na foto vc devia ter clicado em “Exception thrown in Javascript” pra agente poder ver o StackTrace

Mas eu acho q eu sei qual o problema
O Hibernate usa lazy-loading nas relações entre as entidades, vc mandou carregar a classe Artigo ai ele fez o select e carregou o objeto, só que o mesmo n acontece com Historicos e Favoritos, se lazy-loading tiver ligado (padrão) eles serão um proxy e só serão realizados os selects e os objetos carregados quando vc acessar eles no codigo. O GWT não consegue serializar os objetos com os proxys

Oq vc pode fazer eh desabilitar o lazy-loading (no seu mapeamento da relação no xml poe lazy=“false”) ou dar um get em um dos objetos, tipo, ao invés do setFavoritos(null) dá um if (favoritos.size() > 0) favoritos.get(0), não sei se funciona, tenta ai

Po Victor valeu a intenção, mas não funfou, coloquei o lazy como false e não adiantou nada, tentei do outro jeito e tb não funfou.
Ai segue o print com o StackTrace pra poder ter uma visão melhor do erro.