0

我正在尝试将Job具有嵌入式实体的实体存储Range在 Google App Engine 数据存储(本地测试系统)中。当我持久化一个新实体时,我可以看到嵌入实体的属性被持久化了。但是,如果我通过 Id 或查询加载实体,则范围属性为空。

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

1 回答 1

0

再一次,答案是:这不是一个错误,而是一个特性。事实证明,嵌入式实体是延迟加载的,只要我不调用 getter,就不会填充属性

于 2012-07-15T12:04:46.390 回答