As I understand it, you never need (or can) prefix you appid to the key. If you could it would open up the option to get data from other appids, and that is not possible. That is also a huge security hole, if it existed :(
You are correct that you need to include the full ancestry to define the key for an object. You can have entities with the same kind, and id/name, but they must have different keys (because they belong to a different parents). I don't work with JDO anymore so I can' help with the code needed to do this. I'm sure someone out there can help. On Thu, Mar 11, 2010 at 12:57 PM, Ian Marshall <[email protected]> wrote: > You're welcome! > > Yes, I believe that, as you have done, the key has to hold the full > entity path, from the entity group root, through children, to the > entity. If the entity is its own root (not in your case) then only one > element is needed. > > I believe that the key also has info about the app, so that the key is > unique throughout BigTable throughout the world: app - [root] - > [child] - ... - [child] - "end" entity. Here "[]" means prsent only > if exists. > > I came across your problem a while ago when trying to retrieve > entities by constructing their keys and then finding object by ID. I > found out (by re-reading the right part of the GAE/J docs again > properly) that full key chaining was required. -- 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.
