However, this is a lot of work or?
You must create one DTO for one entity. If you have a lot of entites,
it will be a lot of work.
Is there another possibility to solve this serialization problem?

On 25 Mrz., 10:46, Paul Robinson <[email protected]> wrote:
> I use DTOs rather than Gilead...I guess the gilead forums may be able to help.
>
> On 24/03/11 17:51, marky8264 wrote:
>
>
>
>
>
>
>
> > thanks for your answer.
> > However, if i use a eager loading for the list, i will get this:
> > Caused by: com.google.gwt.user.client.rpc.SerializationException: Type
> > 'org.hibernate.collection.PersistentBag' was not included in the set
> > of types which can be serialized by this SerializationPolicy or its
> > Class object could not be loaded. For security purposes, this type
> > will not be serialized.: instance = []
> >    at
> > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:
> > 614)
> >    at
> > com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:
> > 126)
> >    at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter
> > $ValueWriter$8.write(ServerSerializationStreamWriter.java:152)
> >    at
> > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeValue(ServerSerializationStreamWriter.java:
> > 534)
> >    at
> > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeClass(ServerSerializationStreamWriter.java:
> > 704)
> >    at
> > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeImpl(ServerSerializationStreamWriter.java:
> > 734)
> >    at
> > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:
> > 616)
> >    at
> > com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:
> > 126)
> >    at
> > com.google.gwt.user.client.rpc.core.java.util.Map_CustomFieldSerializerBase.serialize(Map_CustomFieldSerializerBase.java:
> > 52)
> >    at
> > com.google.gwt.user.client.rpc.core.java.util.HashMap_CustomFieldSerializer.serialize(HashMap_CustomFieldSerializer.java:
> > 38)
> >    ... 76 more
>
> > Although i use Gilead, i get this exception. I thought that Gilead
> > will clone the entity object and replace the hibernate collections
> > with normal collections.
> > Why do i get this exception?
>
> > Is it possible that this is the reason:
> > [...]
> > 24 M�r 2011 16:43:38,695 DEBUG PersistentBeanManager: Not persistent
> > object, merge is not needed : 1
> > 24 M�r 2011 16:43:38,696 DEBUG GileadRPCHelper: Merge took 92 ms.
> > 24 M�r 2011 16:43:38,979 TRACE HibernateUtil  : Exception during
> > getCurrentSession
> > org.hibernate.HibernateException: No Hibernate Session bound to
> > thread, and configuration does not allow creation of non-transactional
> > one here
> >    at
> > org.springframework.orm.hibernate3.SpringSessionContext.currentSession(SpringSessionContext.java:
> > 63)
> >    at
> > org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:
> > 700)
> >    at
> > net.sf.gilead.core.hibernate.HibernateUtil.getCurrentSession(HibernateUtil.java:
> > 1829)
> >    at
> > net.sf.gilead.core.hibernate.HibernateUtil.flushIfNeeded(HibernateUtil.java:
> > 975)
> >    at
> > net.sf.gilead.core.PersistentBeanManager.clone(PersistentBeanManager.java:
> > 227)
> >    at
> > net.sf.gilead.gwt.GileadRPCHelper.parseReturnValue(GileadRPCHelper.java:
> > 157)
> > [...]
>
> > Here my gilead config:
> >         <bean id="proxySerializer"
> >            class="net.sf.gilead.core.serialization.GwtProxySerialization" />
>
> >    <bean id="proxyStore"
> > class="net.sf.gilead.core.store.stateless.StatelessProxyStore">
> >            <property name="proxySerializer" ref="proxySerializer" />
> >    </bean>
>
> >    <bean id="persistenceUtil"
> > class="net.sf.gilead.core.hibernate.jpa.HibernateJpaUtil">
> >            <property name="entityManagerFactory" ref="entityManagerFactory" 
> > /
> >    </bean>
>
> >    <bean id="persistentBeanManager"
> > class="net.sf.gilead.core.PersistentBeanManager">
> >            <property name="proxyStore" ref="proxyStore" />
> >            <property name="persistenceUtil" ref="persistenceUtil" />
> >    </bean>
>
> > On 24 Mrz., 18:31, Paul Robinson<[email protected]>  wrote:
> >> Your collection is mapped as lazy, which means hibernate will load data on 
> >> demand rather than up-front. However, you then try and access the 
> >> collection outside a hibernate session, so it cannot do the load.
>
> >> You should either load what you need inside the hibernate session, or make 
> >> your collection be non-lazy.
>
> >> On 24/03/11 14:50, marky8264 wrote:
>
> >>> hey,
> >>> I'm a newbie with these frameworks. Firstly i want to write a small
> >>> web app with gwt for the frontend, spring for backend and jpa for the
> >>> persistence operations. I use Hibernate as JPA implementation.
> >>> I started with a simple construction (2 simply entities, 2 DAO,1
> >>> remote service). I have no problems with this example. After i had
> >>> extended the entities with lists, i got some problems with the lazy
> >>> loading and serialization. Therefore i searched for solution and found
> >>> the Gilead Framework.
> >>> Now i have following problem:
> >>> org.hibernate.LazyInitializationException: failed to lazily initialize
> >>> a collection of role:<list attribute of my class>, no session or
> >>> session was closed
> >>>     at
> >>> org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:
> >>> 383)
> >>>     at
> >>> org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:
> >>> 375)
> >>> I don't understand the problem, because i marked the service method
> >>> with @Transactional(propagation=Propagation.NESTED, readOnly=true).
> >>> What is the cause of my problem?
> >>> thanks in advance

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to