I'd like to simulate using the sql IN operator in a query.

I have 2 JDO entities in an unowned one-to-many unidirectional
relationship:
A can refer to 0 or more of B
B holds a reference to A with property of type Key "aKey"

After a certain query on B I want to retrieve the associated A
entities.  I can build up a list of Key objects, but how do I use this
to query for A?  I saw in this post on stackoverflow:
http://stackoverflow.com/questions/1003247/app-engine-datastore-in-operator-how-to-use,
that with the low-level API, you can do a db.get(keys) and that is far
more efficient than using a query for each key.

Is there a way to do this using the JDO API?

I've tried using PersistenceManager.getObjectsById(Collection), but I
get the following exception:

javax.jdo.JDOObjectNotFoundException: No such object: FailedObject:B
(3021)

even though there is definitely a B entity with ID = 3021 in the
datastore, so I suspect this method doesn't take Keys.  DataNucleus
docs say it takes Object IDs, which you can get from an existing
persistent object using PersistenceManager.getObjectId(), but there is
no method to generate one from a Key object.
--~--~---------~--~----~------------~-------~--~----~
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 [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-appengine-java?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to