客观化实体关系

Objectify entity relationship

我是 Android 的初学者,我正在尝试了解 GAE 如何与 Objectify 一起工作。

所以我创建了两个 classes,一个 'User' 和另一个 'Journey'。每个旅程都属于一个用户。

用户Class

@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
}

旅程Class

@Entity
public class Journey {
    @Id
    private Long id;
    Key<User> driver;
    private Event event;
    private Long nbPlaces;
    private String departureTime;
    private String destination;
}
  1. 我在 User class 上写了下面的方法,对吗?

    @瞬态 钥匙 getKey() { return Key.create(User.class, id); }

  2. 如何在我的旅程对象中设置用户的密钥? (我想我不能使用简单的 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设置为Journeyclass,需要在创建对象时传入构造函数,或者获取对象Journey设置参数并保存。但是你需要先拿到Key:

public Long getKey(User user) {
     Key<User> generatedKey = ofy().save().entity(user).now();
     return generatedKey.getId();
}

在此之后,您可以将 Users 的列表附加到 Journeyclass。