If you don't have an active session, you can add a
DetailedPropertyFilter to the transformer BeanReplicator. This filter
can exclude uninitialized Hibernate collections to avoid
LazyInizialitationException, this do in propagate method:
Object fromValue = readPropertyValue(fromBean, readerMethod.getName
());
boolean isPersistentCollection =
(PersistentCollection.class.isAssignableFrom(fromValue.getClass()));
if (isPersistentCollection && !Hibernate.isInitialized(fromValue)){
logger.debug("Excluyendo la colección: " + propertyName);
return false;
}
return true;
On Jun 25, 5:12 am, esordini <
emmanuele.sord...@gmail.com> wrote:
> Dear all,
> I'm trying to "unproxy" a Hibernate 3 (rather complex) Object with
> BeanLib prior to XML serialization with XStream. I'm keeping on
> getting a LazyInitializationException on a few fields:
>
> ERROR [main] (LazyInitializationException.java:42) - could not
> initialize proxy - no Session
> org.hibernate.LazyInitializationException: could not initialize proxy
> - no Session
> at org.hibernate.proxy.AbstractLazyInitializer.initialize
> (AbstractLazyInitializer.java:86)
> at org.hibernate.proxy.AbstractLazyInitializer.getImplementation
> (AbstractLazyInitializer.java:140)
> at net.sf.beanlib.hibernate.UnEnhancer.unenhanceObject
> (UnEnhancer.java:120)
> at
> net.sf.beanlib.hibernate3.Hibernate3JavaBeanReplicator.replicateBean
> (Hibernate3JavaBeanReplicator.java:71)
> at
> net.sf.beanlib.provider.replicator.ReplicatorTemplate.replicateByBeanReplicatable