gpt4 book ai didi

java - 由于 PMF,AppEngine JDO 无法创建持久对象

转载 作者:行者123 更新时间:2023-12-02 05:31:45 25 4
gpt4 key购买 nike

我正在使用 AppEngine 将我的 api 从 Python 移植到 Java。我决定使用JDO。我已经创建了模型,现在正在尝试创建一个持久保存到数据存储区的新对象。

我按照此处的说明进行操作: https://developers.google.com/appengine/docs/java/datastore/jdo/creatinggettinganddeletingdata

具体来说,此代码位于“使对象持久化”部分

    PersistenceManager pm = PMF.get().getPersistenceManager();

Employee e = new Employee("Alfred", "Smith", new Date());

try {
pm.makePersistent(e);
} finally {
pm.close();
}

问题是,我不知道 PMF 从哪里来。我在 Eclipse 中收到“PMF 无法解析”错误。

我查看了 SO 上的其他问题来梳理 PMF 的起源,并发现其他人这样做; PersistenceManagerFactory pmf;

但是当我尝试这样做时,我遇到了 get() 问题。 Eclipse 说

The method get() is undefined for the type PersistenceManagerFactory

有人有创建 JDO 对象并将其保存到数据存储的完整示例,其中包含所有导入和必要的变量吗?

提前致谢!!!

这是我到目前为止的代码:

import java.io.IOException;
import javax.jdo.PersistenceManager;
import javax.jdo.PersistenceManagerFactory;
import javax.servlet.http.*;

@SuppressWarnings("serial")
public class Test_APIServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
resp.setContentType("text/plain");
resp.getWriter().println("Hello, world");
PersistenceManagerFactory pmf;
PersistenceManager pm = pmf.get().getPersistenceManager();
}
}

最佳答案

您可以在此链接阅读 Google 的文档,其中很好地解释了这个 PMF 类是什么

https://developers.google.com/appengine/docs/java/datastore/jdo/overview-dn2

向下滚动到“获取 PersistenceManager 实例”,即可看到代码。这只是获取 PersistenceManagerFactory 的一种方法,基本的 JDO 不需要 Google 的此类。您的代码似乎将真正的 PersistenceManagerFactory 与 Google 的包装类混淆了。

关于java - 由于 PMF,AppEngine JDO 无法创建持久对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25474353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com