Возможно ли получить timestamp, который используется для оптимистического контроля параллелизма от объекта Objectify (или части нижнего уровня инфраструктуры хранилища данных Google), и если да, то как?Получение метки времени от объекта Objecify?
1
A
ответ
2
Должна быть обеспечена возможность получения версии метки времени, указав поле, как это в сущности POJO:
@IgnoreSave long __version__;
версия # находится в Entity
свойств с помощью этого ключа. Если вы ищете официальную документацию, проверьте Javadocs (и исходный код) для Entity.VERSION_RESERVED_PROPERTY
и Entities.getVersionProperty(Entity)
Почему это работает
При загрузке низкого уровня Entity
, он поставляется с предварительно заполняется синтетическим имущество под названием __version__
. Просто добавив поле в Objectify POJO с этим именем, Objectify будет загружать его из Entity
. Используйте @IgnoreSave
, чтобы значение загружалось, никогда не сохранялось.
Tx. Я правильно понимаю: имя '__version__' не задано Objectify, но что-то, что я выбрал; и мне придется назначить его значение, например. из 'Entities.getVersionProperty (ofy(). save(). toEntity (object)'? – Drux
Вам не нужно ничего делать, кроме объявления поля. Я добавил ** Why This Works ** к моему ответу, надеюсь, это поможет! – stickfigure