gpt4 book ai didi

java - 如何使用@PersistenceContext (EclipseLink) 在 Java SE 中注入(inject) EntityManager

转载 作者:行者123 更新时间:2023-11-30 08:01:27 25 4
gpt4 key购买 nike

我有一个客户端-服务器应用程序,是我为我大学的一个项目制作的,但我在数据库-JPA 缓存同步方面遇到了问题。我正在使用一个应用程序管理的 EntityManager,我从其他帖子中发现它真的很难用,因为你总是必须小心打开和关闭它。

我发现这个问题的最佳解决方案是使用容器管理的 EntityManager,使用 @PersitenceContext 注释初始化,这样我就不必再担心 EM 的打开和关闭了。

所以我真正的问题是,如何使用 EclipseLink JPA 在 Java SE 中注入(inject) EntityManager,因为我从未传递过 NullPointerException。我将附上此操作示例的一些打印屏幕以及我认为应该完成的方式。

对于我的项目,我使用 jdk 1.8、基本 jpa 配置 (2.1) 和 EclipseLink 2.5.x 作为平台。在数据库方面,我使用的是 MySql-Server 而没有应用程序服务器(这个必须由我开发)。

persistence.xml 文件

包含示例的 2 个类: https://gyazo.com/a7b1a372875a259096dc220653cd5bcd

最佳答案

您不能根据您列出的使用技术使用容器管理的持久性,因为您没有可以处理注入(inject)的容器。我的理解是您不在 JEE 应用程序服务器中,因此您没有 EJB 容器。

如果您想在独立应用程序中使用 JPA,您可以做两件事:

  1. 忘记注入(inject)并使用应用程序管理的持久性。
  2. 使用 Spring 容器,你仍然可以注入(inject):How to inject JPA EntityManager using spring

关于java - 如何使用@PersistenceContext (EclipseLink) 在 Java SE 中注入(inject) EntityManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37689320/

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