Можно ли получить временную метку, которая используется для оптимистичного параллелизма управление от объекта Objectify (или части нижнего уровня инфраструктуры Google Datastore), и если да, то как?
Получение метки времени от объекта Objecify?
Ответы (1)
Должна быть возможность получить метку времени версии, указав подобное поле в вашем POJO объекта:
@IgnoreSave long __version__;
Номер версии находится в свойствах Entity
с этим ключом. Если вы ищете официальную документацию, проверьте javadocs (и исходный код) для Entity.VERSION_RESERVED_PROPERTY
и Entities.getVersionProperty(Entity)
Почему это работает
Когда вы загружаете низкоуровневый Entity
, он предварительно заполняется синтетическим свойством с именем __version__
. Просто добавив поле в POJO Objectify с этим именем, Objectify загрузит его из Entity
. Используйте @IgnoreSave
, чтобы значение только загружалось, а не сохранялось.
person
stickfigure
schedule
04.03.2015
Tx. Правильно ли я понимаю: имя
__version__
не предписано Objectify, а то, что я выбрал; и мне пришлось бы присвоить его значение, например. с Entities.getVersionProperty(ofy().save().toEntity(object)
?
- person Drux; 05.03.2015
Вам не нужно делать ничего явного, кроме объявления поля. Я добавил к своему ответу Почему это работает, надеюсь, это поможет!
- person stickfigure; 05.03.2015