假设你有这个POJO:
public class User {
private String name;
private Integer age;
@Embedded
private Address newAddress;
@Child
private Address oldAddress;
}
我需要将其转换为com.google.appengine.api.datastore.Entity
对象。属性name
和age
很容易映射到实体的属性,newAddress
也是EmbeddedEntity
。让我们说oldAddress将被存储为它自己的实体,只是有一个关系,它是User
的孩子。
我会做类似的事情:
Entity userEntity = ...
userEntity.setProperty("name", name);
userEntity.setProperty("age", age);
EmbeddedEntity ee = ...
e.setProperty("newAddress", ee);
Entity oldAddress = new Entity(KeyFactory.createKey(e.getKey, "Address", user.getOldAddress.getId()));
userEntity.setProperty("oldAddress", oldAddress.getKey());
这是对的吗?