我有一个客户端 - 服务器应用程序,我在我的大学为一个项目做了,我遇到了数据库-JPA Cache同步问题。我正在使用应用程序管理的EntityManager,我从其他帖子中发现它很难使用,因为你总是要小心打开并关闭它。
我发现这个问题的最佳解决方案是使用容器管理的EntityManager,使用@PersitenceContext注释进行初始化,这样我就不用担心EM打开和关闭了。
所以我真正的问题是,如何使用EclipseLink JPA在Java SE中注入EntityManager,因为我从未传递过NullPointerException。我将附上一些这种操作示例的打印屏幕以及我认为应该完成的方式。
对于我的项目,我使用jdk 1.8,基本jpa配置(2.1)和EclipseLink 2.5.x作为平台。在数据库方面,我使用的是MySql-Server而没有应用服务器(这个必须由我开发)。
persistence.xml文件
包含示例的2个类: https://gyazo.com/a7b1a372875a259096dc220653cd5bcd
答案 0 :(得分:3)
根据您列出的已使用技术,您无法使用容器管理的持久性,因为您没有可以处理注入的容器。我的理解是您不在JEE应用程序服务器中,因此您没有EJB容器。
如果要在独立应用程序中使用JPA,可以执行以下两项操作: