我正在尝试将实体Job
与嵌入式实体Range
存储在Google App Engine数据存储(本地测试系统)中。当我坚持一个新实体时,我可以看到嵌入实体的属性是持久的。但是,如果我通过Id或查询加载实体,则range属性为null。
@PersistenceCapable
public class Job {
// embedded entity
@PersistenceCapable
@EmbeddedOnly
public static class Range {
@Persistent
private long start;
@Persistent
private long length;
public long getLength() {
return this.length;
}
public void setStart(long start) {
this.start = start;
}
public long getStart() {
return start;
}
}
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent
@Embedded
private Range range;
// getters and setters ...
}
答案 0 :(得分:0)
再一次,答案是:这不是一个错误,它是一个功能。事实证明嵌入式实体是懒惰加载的,只要我没有调用getter,就不会填充属性