Lo que usted propuso sería, de hecho, la forma más rápida de saber si su entidad existe. Lo único que te hace más lento es el tiempo que lleva buscar y deserializar tu entidad. Si tu entidad es grande, esto puede ralentizarte.
Si esta acción (verificar la existencia) es un importante cuello de botella para usted y tiene entidades grandes, puede rodar su propio sistema de control utilizando dos entidades: primero, tendría su entidad existente con datos, y una segunda entidad que almacena la referencia a la entidad real, o tal vez una entidad vacía donde la clave es solo una variación de la clave de entidad original que puede calcular. Puede verificar la existencia rápidamente usando la segunda entidad, y luego buscar la primera entidad solo si los datos son necesarios.
La mejor forma en que pienso sería simplemente diseñar sus llaves de modo que usted sepa que no habría duplicados, o que sus operaciones son idempotentes, de modo que incluso si se sobreescribiera una entidad anterior, no importaría.
obtener una entidad por clave nunca devolverá un error, devuelve Ninguno. – aschmid00
En java 'get' arroja una excepción cuando no se encuentra la entidad: https://developers.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/DatastoreService#get(com.google .appengine.api.datastore.Key) –
ok no sabía eso. – aschmid00