【问题标题】:Default Fetch group in MongoDB - dataneucleusMongoDB 中的默认 Fetch 组 - dataneucleus
【发布时间】:2012-10-17 08:14:54
【问题描述】:

我使用 datanucleus 和 MongoDB 来存储我的对象。我检测到延迟加载存在问题。

我班上的一个是:

    public class Member  implements Serializable{
            private static final long serialVersionUID = 1L;
            @PrimaryKey
            @Persistent(defaultFetchGroup = "true", valueStrategy = IdGeneratorStrategy.IDENTITY)
            private String key;

            private String username; 
            @Persistent(defaultFetchGroup="true",dependent="true")
            private Parameter param = null;
    }

检索这个对象的代码是:

    Transaction tx = pm.currentTransaction();
    tx.begin();
    Member member = pm.getObjectById(Member.class,"MyID");
    tx.commit();
    //if I check here, the field "param" is null.

当我检查时,“参数”字段为空。但是,我将元数据设置为默认加载参数。也许驱动 MongoDB-JDO 不支持元数据“defaultFetchGroup”。

你能告诉我会发生什么吗?

非常感谢。

【问题讨论】:

    标签: mongodb lazy-loading jdo datanucleus


    【解决方案1】:

    “这里”(事务之外)的情况完全取决于object lifecycle 以及您启用了哪些持久性选项。该链接定义了它。对象可能是 HOLLOW,因此已卸载字段并且您没有设置“datanucleus.RetainValues”

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    • 2018-09-11
    • 2018-11-01
    • 2017-10-22
    • 2019-02-21
    • 2014-11-17
    • 1970-01-01
    相关资源
    最近更新 更多