我使用AppEngine从Python移植我的api到Java。我决定使用JDO。我已经创建了我的模型,现在我正在尝试创建一个新的对象,并将其保留到数据存储区。
我按照这里的说明操作: https://developers.google.com/appengine/docs/java/datastore/jdo/creatinggettinganddeletingdata
具体来说,这个代码在Make Objects Persistent部分
中 PersistenceManager pm = PMF.get().getPersistenceManager();
Employee e = new Employee("Alfred", "Smith", new Date());
try {
pm.makePersistent(e);
} finally {
pm.close();
}
问题是,我不知道PMF来自哪里。我得到了一个" PMF无法解决" Eclipse中的错误。
我已经查看了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();
}
}
答案 0 :(得分:2)
您可以通过此链接阅读Google的文档,该文章很好地解释了此PMF课程的内容
https://developers.google.com/appengine/docs/java/datastore/jdo/overview-dn2
向下滚动到"获取PersistenceManager实例"并且有代码。这只是获得PersistenceManagerFactory的一种方式,而基本的JDO并不需要这类Google。您的代码似乎将真正的PersistenceManagerFactory与Google的这个包装类混淆。