我有一个使用Objectify v5加载的类,如何从Objectify中获取关联的Key<T>
?
@Entity
@Cache
public abstract class BaseEntity<T,P>
{
@Parent
private Key<P> parent;
@Id
private String uuid;
}
我知道ofy().save()
会返回Key<T>
,但我希望从过滤器或ID加载的Key<T>
中获取Entity
。
Entity
并返回该实体的Key<T>
的方法。答案 0 :(得分:0)
Key.create(T pojo);
但是在上面的情况下,它不能在BaseEntity<T,P>
课程内部工作。
@Nonnull
public Key<T> getKey() { return Key.create(this); }
抱怨它想要将结果转换为Key<T>
。
经过一些实验后,我刚刚在我的BaseEntity
@Nonnull
public Key<T> getKey()
{
return Key.create(this.parent, this.entityType, this.uuid.toString());
}
这将返回自动生成的Key<T>
。
答案 1 :(得分:-1)
Java的打字系统不够复杂,不足以表达“我希望这是任何类型'这恰好是在叶级”(因为你在抽象类中)。 Scala可以做到这一点,但不是Java。至少我不知道。
除非我误解了你要做的事情......?