Hi all.

I'm struggling a bit with default fetch groups in one of my entities
here..

Basically I have something that looks like this

@PersistenceCapable(identityType = IdentityType.APPLICATION,
detachable="true")
public class A {

 @Persistent(defaultFetchGroup = "true")
 private List<B> embeddedObjects;

  @PersistenceCapable(detachable="true")
  @EmbeddedOnly
 public static class B {
  ....
 }
}

I want the list of my B objects to be fetched automatically when I
retrieve A from the datastore. This does not work however. It still
seems to do lazy loading and I get the following warning:

2009-dec-22 23:57:52 org.datanucleus.store.appengine.MetaDataValidator
warn
WARNING: Meta-data warning for A.embeddedObjects: The datastore does
not support joins and therefore cannot honor requests to place child
objects in the default fetch group.  The field will be fetched lazily
on first access..."

The above works fine if I change it to just: private B object, so the
problem seems related to List or collections in general. I have been
trying to find some explanation on this both in datanucleus docs and
here, but have been unable to find it.

Oh, and I can't use the "touch" technique since I use generic object
retrieval and that code has no knowledge of what the class contains,
and I want to keep it that way.

Could someone explain how this works (or point me to someplace) and
how I can solve it?

Thanks in advance.

BR, Andreas

--

You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.


Reply via email to