开发者

Get an Objectify Entity's Key

开发者 https://www.devze.com 2023-03-29 21:56 出处:网络
Dummy question. I create my POJO Objectify entity (for example, \"Category\") and persist it. Then I retrieve it via a query.

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

精彩评论

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