0

我有一个 Web 项目,其中包含带有 JDO 注释的 java 类。我的数据库是 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();
    }

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

你能帮我更新我的文件吗?

非常感谢

4

1 回答 1

1

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

于 2012-10-11T09:35:53.760 回答