我正在尝试使用Objectify v4在App Engine中获取实体,但它不起作用.
我的@Entity:
@Entity
public class Translation {
@Id
private Long id;
private String text;
public String getText() {
return text;
}
public Long getId() {
return id;
}
public void setText(String text) {
this.text = text;
}
}
Run Code Online (Sandbox Code Playgroud)
不说的请求:
Translation translation =ObjectifyService.ofy().load().type(Translation.class).id(301L).get(); // translation is null
Run Code Online (Sandbox Code Playgroud)
但如果我这样做:
Translation translation = ObjectifyService.ofy().load().type(Translation.class).first().get(); // translation is not null
Run Code Online (Sandbox Code Playgroud)
然后:
System.out.println(translation.getId()); // translation id equal 301
Run Code Online (Sandbox Code Playgroud)
所以id的fetch似乎不起作用.问题出在哪儿?
由于您的实体有一个@Parent字段,为了通过id获取它,您需要执行:
Translation translation = ObjectifyService.ofy().load().type(Thing.class).parent(par).id(301).get();
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅Objectify Basic Operations - Loading
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
1209 次 |
| 最近记录: |