我是Android的初学者,我正试图了解GAE如何与Objectify一起工作。
所以我创建了两个类,一个'User'和另一个'Journey'。每个旅程属于一个用户。
用户类@Entity
public class User {
@Id
private Long id;
@Index private String mac;
private String name;
private String firstName;
private Long age;
private String email;
private String password;
// Getters and setters
}
旅行类
@Entity
public class Journey {
@Id
private Long id;
Key<User> driver;
private Event event;
private Long nbPlaces;
private String departureTime;
private String destination;
}
我已经在User类上编写了以下方法,这是正确的吗?
@Transient键getKey() {return Key.create(User.class, id)}
如何在旅程对象中设置用户密钥?(我想我不能使用简单的setter
谢谢!
先前声明:
import static com.googlecode.objectify.ObjectifyService.ofy;
获取对象:
public User get(Long id) {
return ofy().load().key(Key.create(User.class, id)).now();
}
要将Key从User
设置为Journey
类,需要在创建对象时传入构造函数,或者获取对象Journey
设置参数并保存。但是你需要先得到Key:
public Long getKey(User user) {
Key<User> generatedKey = ofy().save().entity(user).now();
return generatedKey.getId();
}
在此之后,您可以将Users
列表附加到Journey
类中。