我正在为我的下一个项目学习带有数据存储区的谷歌应用引擎。我为此制作了一个示例应用程序。
以下是实体的代码:
@Entity
public class Quote {
@Id
private Long id;
@Parent @Load
private Ref<Author> author;
public Quote() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Author getAuther() {
return author.get();
}
public void setAuther(Author author) {
this.author = Ref.create(author);
}
}
@Entity
public class Author {
@Id
private Long id;
String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
我正在使用此API插入引用
@ApiMethod(
name = "insert",
path = "quote",
httpMethod = ApiMethod.HttpMethod.POST)
public Quote insert(Quote quote) {
ofy().save().entity(quote).now();
return ofy().load().entity(quote).now();
}
当我尝试插入新引号时,我将author.get()设为null。我很长时间陷入这个问题,我无法继续学习。
感谢。
答案 0 :(得分:0)
插入Quote之前我没有插入Auther。您可以在实体模型中隐藏它,也可以在API调用中单独执行。