【发布时间】:2017-04-11 20:04:01
【问题描述】:
我正在使用 Google App Engine 构建应用程序。我正在使用 Objectify 进行数据存储持久性。我有两个 POJO 类。
@Entity
public class Book
{
@Id private Long id;
private String name;
private String isbn;
private String author;
}
和
@Entity
public class Person {
@Id private String email;
private String password;
private String name;
private List<Book> myBooks;
}
一个人可以包含许多书,但书只属于一个人。目前我正在保存这样的数据。
//data from Front-end
Person p = new Person(email, password, name);
PersonDAO dao = new PersonDAO();
dao.save(p);
//...
//data from Front-end
Book b = new Book(name, author, isbn);
BookDAO daoBook = new BookDAO();
daoBook.save(b);
//...
Person q = dao.load(email);
q.addBook(b);
dao.save(q);
ObjectifyService ofy() 方法在 DAO 类中实现。
我的实施可以吗?如何优化关系?每次我需要创建一本书时,它都会像实体一样保存,但我需要与一个人的关系,因此我要保存两次。我见过 Key, Ref @Load 标签的实现,但我不知道它们是如何工作的。
此外,Person POJO 有一个 Date 字段。会正常保存吗?
【问题讨论】:
标签: java google-app-engine objectify