Thanks! Well, in JDO you can do: Query q = pm.newQuery("select id from " + MyClass.class.getName());
I think __key__ can work too, but not sure. On 4 July 2011 19:09, jMotta <jayrmo...@gmail.com> wrote: > Thiago, > > Nowadays the amount of documentation and features of both interfaces are > almost equals. Java has some characteristics that Python doesn't and > vice-versa. > > But let's cope with your problem, the solution given by "objectuser" is > valid and should work fine, the only problem is that you'll never be able to > use transactions if the entities are not in the same entity group. > > A middle term between querying the real entity and just refering the id of > it is to query and persist just the Key through: > > Query q = new Query("User").setKeysOnly(); > > > Combined with the filter that you may want and after that asking the > datastore service (because I haven't found any hook in the JDO API to ask > for the keys) for the keys and using it as the argument to your new > LoginHistory entity. > > And your english is not bad. Bwt, I'm brazilian too! :) > > *Jayr Motta* > Software Developer > * > * > I'm on > BlackBeltFactory.com<http://www.blackbeltfactory.com/ui#!User/jmotta/ref=jmotta> > ! > > > > On Mon, Jul 4, 2011 at 11:54 AM, Thiago <thiagorossi...@gmail.com> wrote: > >> Hi. >> >> I'm using Google App Engine and I really liked it. It was a bit >> difficult in the beginning because there are more documentation for >> Python and I only know Java but now I think I'm going well. >> >> I'm using JDO and I understand that do add a child to a one to many >> relationship I need to do this: >> >> User user = pm.getObjectById(User.class.getName(), "thiago"); >> LoginHistory loginHistory = new LoginHistory(now); >> loginHistory.setKey(user.getKey().getChild(LoginHistory.class.getName(), >> now.getTime()); >> user.getLoginHistory(loginHistory); >> pm.close(); >> >> I loginHostory has to have User as the parent, so User("thiago")/ >> LoginHistory([time]). I can't do makePersistent(myChild) because it >> won't appear in the collection or anywhere with user, so I don't know >> how JDO makes the link with the collection because I can't see in the >> Datastore Viewer. >> >> But my real question is: I have an entity and the collection is really >> big, like user.getLoginHistory(), and I think after a lot of logins it >> will be wrong to retrieve this collection just to add a new child. >> Isn't there any way to create a child in a collection without using >> the parent? Something like makePersistent(newChild) and newChild have >> the key like I said? Or how can I do this using Datastore (low level >> API)? I can't see the property with the collection in the Datastore >> viewer. >> >> Thank you very much. >> >> PS: Sorry for my English, I'm brazilian. >> >> -- >> >> 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-java@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. >> >> > -- > 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-java@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. > -- 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-java@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.