Получите ключ объекта объективации - PullRequest
7 голосов
/ 23 августа 2011

Пустой вопрос.

Я создаю свой объект POJO Objectify (например, «Категория») и сохраняю его.

Затем я получаю его с помощью запроса.

Я хочу использовать его вотношение «один-к-одному», например, я хочу присвоить моей категории один или несколько «Продуктов».

У меня будет это в коде моего «Продукта»: Key<Categoria> categoria;

Итаквопрос в том, как найти ключ моего извлеченного объекта для его установки в моем продукте?

Ответы [ 3 ]

13 голосов
/ 06 февраля 2013

Для объективации 4 используйте:

public Key<Foo> getKey() {
   return Key.create(Foo.class, id);
}

Или, если у субъекта есть @ Parent

public Key<Bar> getKey() {
   return Key.create(parentKey, Bar.class, id);
}
10 голосов
/ 23 августа 2011

Я обычно добавляю дополнительный метод:

@Transient
Key<Categoria> getKey() {
   return Key.create(Categoria.class, id);
}

и используйте его там, где это необходимо:

anCategoria.getKey()
1 голос
/ 11 октября 2013

Класс Key в Objectify 4 имеет этот метод:

public static <T> Key<T> create(T pojo)

Итак, если вы уже прочитали сущность (в нашем примере category) из хранилища данных, вы можете просто позвонить

product.categoria = Key.create(category);
...