我正在使用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的包装器类混淆了。