I tried using em.clear(). I did this after loading and accessing my
object. I also changed my fetch type to EAGER.  Sadly it still fails ;
(

-Dave


On Nov 9, 6:59 am, dparish <dpar...@gmail.com> wrote:
> Thanks David.
>
> I tried LAZY and EAGER. Both caused the problem.
>
> For #2, that seems promising. There's an EntityManager clear method,
> but that would affect all threads using the entity manager.  Any
> thoughts on how to do that detach?
>
> On Nov 8, 8:20 pm, David Chandler <drfibona...@google.com> wrote:
>
>
>
>
>
>
>
> > Hi dparish,
>
> > There are three issues here:
>
> > 1. GWT needs a fully populated object graph to send back to the
> > client. Lazy fetching will not work across the client / server
> > boundary, so you must ensure that your code fetches all relations
> > eagerly (via an annotation or a separate call if needed).
>
> > 2. JDO and JPA implementations use proxy classes for objects attached
> > to a persistence manager. Before they can be sent back to the client,
> > you must detach all objects from the PM.
>
> > 3. Even then, GWT won't be able to serialize any types for which it
> > doesn't know the source (like App Engine's Key class). The open source
> > Gilead project and others like Objectify provide GWT wrappers for
> > these.
>
> > HTH,
> > /dmc
>
> > On Mon, Nov 8, 2010 at 8:17 PM, dparish <dpar...@gmail.com> wrote:
> > > I have an entity with a member like this:
>
> > > @Entity
> > > public class Foo  implements Serializable{
>
> > >   �...@onetomany(mappedBy="foo",targetEntity=InternalText.class,
> > >               fetch=FetchType.EAGER)  // I tried Lazy too.
>
> > >     private ArrayList<InternalText>internalTextEntries;
>
> > > When I try to use Foo I get this error:
>
> > > Throwable occurred:
> > > com.google.gwt.user.client.rpc.SerializationException: Type
> > > 'org.apache.openjpa.util.java$util$ArrayList$proxy' 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 =
> > > [blah.blah.entities.internalt...@36ae36ae,
> > > blah.bhla.entities.internalt...@3fca3fca,
> > > blah.blah.retain.entities.internalt...@42474247,
> > > blah.blah.entities.internalt...@48724872]
> > >        at
> > > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.seriali
> > >  ze(ServerSerializationStreamWriter.java:
> > > 610)
> > >        at
> > > com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.write
> > >  Object(AbstractSerializationStreamWriter.java:
> > > 129)
> > >        at 
> > > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter
> > > $ValueWriter$8.write(ServerSerializationStreamWriter.java:152)
> > >        at
> > > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.seriali
> > >  zeValue(ServerSerializationStreamWriter.java:
> > > 534)
> > >        at
> > > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.seriali
> > >  zeClass(ServerSerializationStreamWriter.java:
> > > 700)
>
> > > From what I can tell openjpa is creating a helper representation of
> > > ArrayList that it uses to assist in monitoring and lazy loading the
> > > child table.  I've tried eager and lazy fetching.
>
> > > I tried this:
>
> > >        ArrayList<InternalText> newText = new ArrayList<InternalText>();
> > >        for (InternalText textItem: foo.getInternalTextEntries()) {
> > >                newText.add(textItem);
> > >        }
> > >        foo.setInternalTextEntries(newText);
>
> > > It got past my error, but then the next layer down had trouble (Date
> > > in the InternalText class)
>
> > > Type 'org.apache.openjpa.util.java$util$Date$proxy' was not included
> > > in the set of types which can be serialized by this
> > > SerializationPolicy
>
> > > --
> > > You received this message because you are subscribed to the Google Groups 
> > > "Google Web Toolkit" group.
> > > To post to this group, send email to google-web-tool...@googlegroups.com.
> > > To unsubscribe from this group, send email to 
> > > google-web-toolkit+unsubscr...@googlegroups.com.
> > > For more options, visit this group 
> > > athttp://groups.google.com/group/google-web-toolkit?hl=en.
>
> > --
> > David Chandler
> > Developer Programs Engineer, Google Web 
> > Toolkithttp://googlewebtoolkit.blogspot.com/

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

Reply via email to