【问题标题】:Update document in Mongodb-dataneucleus更新 Mongodb-dataneucleus 中的文档
【发布时间】:2012-10-11 09:23:32
【问题描述】:

我有一个包含带有 JDO 注释的 java 类的 Web 项目。我的数据库是 MongoDB。我在我的项目中使用 datanucleus。要将我的 java 对象持久保存在我的数据库中,我使用以下代码:

    ListAcc list = new ListAcc();
    list.name = "created";
    pm.makePersistent(list);

然后,我使用以下代码检索我的文档:

    ListAcc l = pm.getObjectById(ListAcc.class,"507675823004b91181edc746");

在那之前,一切正常。现在,我想更新我的文档。为此,我使用以下代码:

    Transaction tx = pm.currentTransaction();
    tx.begin();
    try {
      ListAcc l = pm.getObjectById(ListAcc.class,"507675823004b91181edc746");
      l.name = "changing";
      tx.commit();
    } catch(Exception e) {
      tx.rollback();
    }

但是,此操作不会更新我的文档。

您能帮我更新一下我的文档吗?

非常感谢

【问题讨论】:

    标签: java mongodb jdo datanucleus


    【解决方案1】:

    您的意思是您更新了该类的 PUBLIC 字段? 首先,使用公共字段是不好的编程习惯,其次,如果您希望在持久性上下文中这样做,则必须将更新这些公共字段的类注释为@PersistenceAware(或仅在类上使用 setter 方法)。所有这些都在 DN 文档中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-04
      • 1970-01-01
      • 2010-11-11
      • 2019-05-22
      • 2021-07-18
      相关资源
      最近更新 更多