开发者

Get an Objectify Entity's Key

Dummy question.

I create my POJO Objectify entity (for example, "Category") and persist it.

Then I retrieve it via a query.

I want to use it in a one-to-may relationship e.g. want to set my category to one or more "Products".

I will have this in my "Product"'s code: Key<Categori开发者_运维技巧a> categoria;

So the question is: how can I find my retrieved entity's key for setting it in my product?


For objectify 4 use:

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

Or if the entity has a @Parent

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


I'm usually adding an extra method:

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

and use it where it needed:

anCategoria.getKey()


The Key class in Objectify 4 has this method:

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

so, if you already have read the entity (called category in this example) from the datastore, you can just call

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜