Yup, that's fine. I believe the datastore will always allow keys to 
entities that don't exist, because it doesn't attempt to maintain 
referential integrity between entities.  There are no cascading deletes, 
say.  There's no other solution I'm aware of, and this is pretty central to 
the datastore so I doubt there will be a different mechanism. When you need 
consistency, provide an ancestor. When you don't, don't.

Just a reminder that that there's a rate limit on entities with the same 
ancestor, so don't use the same one if you're likely to get multiple 
simultaneous writes as your app grows in popularity.

Richard

On Thursday, October 11, 2012 9:43:31 AM UTC+2, Olivier Truemat wrote:
>
> Hi,
>
> For a given application, I have to perform datastore transactions on 
> entities which have no parent. Unless I misunderstood, this is not possible.
>
> In order to avoid creating dummy entities in the datastore, I am creating 
> a "fake ancestor" key to an entity that does not exists in the datastore.
>
> I would have two questions related to this :
>
> --> Is there any other solution to have transactions with no entity being 
> the parent ?
> --> Will this solution be supported in the long-term by Google ? Just 
> would like to avoid being in a dead-end when an upgrade is rolled-out.
>
>
>
> public class AAA {
>
>     @Parent Key<AAA> ancestorKey; // This is a hack to make sure we can 
> support transactions
>     @Id     Long Id;
>     // OTHER FIELDS 
>     
>     public static Key<AAA> getAncestorKey() {
>         return( new Key<AAA> (AAA.class, new Long("1")));
>     }
> }
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/cZ4Wp5LYim8J.
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?hl=en.

Reply via email to