1) Readable-urls.  http://yourapp.appspot.com/users/max versus
http://yourapp.appspot.com/users/192398411324987

2) The datastore doesn't support uniqueness constraints so a user-defined
key is the only way you can do a true createIfNonExistent() method:

beginTxn();
Entity e;
try {
  e = lookupByKeyName(keyName);
} cath (EntityNotFoundException enfe) {
  e = createNewEntity(keyName);
}
commitTxn();

The final line throws ConcurrentModificationException if someone else
created an entity with the same keyName in between the lookup and the
commit.

Max
On Sun, Feb 21, 2010 at 5:08 PM, DutrowLLC <dutrow...@gmail.com> wrote:

> Hi,
>
> What is the intended purpose of keyName when creating a new Key or new
> Entity in the low-level API?  What are the proper use cases for
> keyName?
>
> Thanks!
>
> Chris
>
> --
> 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<google-appengine-java%2bunsubscr...@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-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