Fala galera.
Ao começar a mexer com BlazeDS + Hiberante, fatalmente o desenvolvedor receberá uma famigerada Lazy. Ao pesquisar na net, vai ver que isso ocorre por causa da serialização que o BlazeDS faz. Já vi algum workaround por aki, como não ter relacionamento nas tabelas ( :? ), alteração do Hibernate e etc.
Então comecei a pesquisar mais sobre o problema e achei esse link interessante. Baseado na idéia dele, efetuei as seguintes alterações em meu código:
- Extendendo a classe BeanProxy do BlazeDS:
[code]public class MyBeanProxy extends BeanProxy {
private static final long serialVersionUID = -855520030789863840L;
@Override
public Object getValue(Object instance, String propertyName) {
try {
super.getValue(instance, propertyName);
} catch (LazyInitializationException exception) {
}
// Setting Null to avoid LazyInitializationException
return null;
}
}
[/code]
- Registrar o proxy na inicialização do TOMCAT:
Com isso, em vez de levar a exceção, os valores são setados para null e enviados para o Flex. Estou escrevendo aki para deixar a solução documentada para futuros desenvolvedores e para servir de idéias para novas soluções.
[]s