[RESOLVIDO] - xstream evitar LazyInitializationException do Hibernate

7 respostas
D

Galera, como faço para o XStrem, ignorar ou o hibernate buscar as coleções Lazy?

Tenho esse código, mais não ajudou muito:

stream.registerConverter(new CollectionConverter(stream.getMapper()) { @Override public boolean canConvert(Class type) { return PersistentBag.class.isAssignableFrom(type); } });

Alguma dica?

7 Respostas

A

vc ta fazendo alguma consulta? se sim, posta ela ai

maior_abandonado

você pode usar fetch join no seu hql ou usar o setFetchMode no seu criteria para fazer buscar a coleção obrigatóriamente… no hibernate se você deixar a sessão do hibernate aberta até depois de terminar o seu processamento com o xstream imagino que também não de lazy innitialization…

D

Eu faço uma consulta a Usuarios e esse usuário tem um ManyToMany Lazy para Papeis.

Basicamente isso, como eu Papeis á lazy, esta dando o erro de LazyInitializationException.

D

O que eu quero evitar é justamente isso, fazer o join, se possível serializar a coleção vazia.

A

cara, é so vc fazer uma join fetch com a entidade Papeis, que vai funcionar

t+

D

O problema não é fazer um join nesse caso.

Isso vai ser repetir, estou fazendo um log, onde serializo todos os objetos para json. Dai fica invialvel fazer join fetch em tudo.

D

Resolvido, newbie.

Estava usando StatelessSession em vez de Session, e o StatelessSession não carrega as collections.

Obrigado.

Criado 4 de novembro de 2011
Ultima resposta 4 de nov. de 2011
Respostas 7
Participantes 3