【问题标题】:Embedded entity not loaded未加载嵌入式实体
【发布时间】:2012-07-15 11:05:23
【问题描述】:

我正在尝试将实体 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 ... 
}

【问题讨论】:

    标签: google-app-engine datanucleus


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多