Вам не обязательно использовать временное поле только для получения объекта.
Это работает:
public User getUtente() {
Objectify ofy = ObjectifyService.begin();
return ofy.get(utenteKey);
}
Это, конечно, будет делать метод get () хранилища данных каждый раз, когдагеттер называется.Вы можете улучшить это, используя @Cached в вашей сущности User, чтобы они превращались в вызовы memcache после первого вызова.Memcache хорош, но мы можем сделать немного лучше, используя кеш сеанса:
public User getUtente() {
Objectify ofy = myOfyProvider.get();
return ofy.get(utenteKey);
}
Ключевым моментом здесь является то, что вам нужно предоставить (через myOfyProvider) экземпляр Objectify, который привязан к текущему запросу/ поток, и это с включенным кэшем сеанса.(т.е. для любого данного запроса myOfyProvider.get () должен возвращать один и тот же экземпляр Objectify)
В этой настройке точно такой же экземпляр User будет возвращаться из кэша сеанса каждый раз, когда вызывается метод полученияи никакие запросы к хранилищу данных / memcache не будут выполняться после начальной загрузки этого объекта.