В методе getKey()
состояний субъекта:Appengine субъект полностью указанный ключ
Возвращает ключ, представляющий эту сущность. Если объект еще не сохранил (например, через DatastoreService.put), этот ключ не будет полностью указан и не может использоваться для определенных операций (например, DatastoreService.get). Когда объект будет сохранен, его Ключ будет полностью обновлен .
Что конкретно обозначает означает?
В следующем тесте ключи одинаковы до и после DatastoreService#put(Entity)
:
DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
Entity e = new Entity("Person", "John");
System.out.println(e.getKey()); // output: Person("John")
System.out.println(KeyFactory.keyToString(e.getKey())); // output: aglub19hcHBfaWRyEAsSBlBlcnNvbiIESm9obgw
Key k = ds.put(e);
System.out.println(k); // output: Person("John")
System.out.println(KeyFactory.keyToString(k)); // output: aglub19hcHBfaWRyEAsSBlBlcnNvbiIESm9obgw