Java 使用JPA和EJB插入数据

Java 使用JPA和EJB插入数据,java,hibernate,jakarta-ee,jpa,ejb,Java,Hibernate,Jakarta Ee,Jpa,Ejb,假设我想对现有的JPA方案执行一个数据操作,比如为每个实体类创建n个实体。我添加了处理学生的功能,我想从CSV文件加载他们(只是一个虚构的例子)。当然,我已经准备好了实体和表格 现在我如何在EJB范围内实现这一点 通常使用Spring,我只需编写一个单元测试,使用@RunWith(SpringJUnit4ClassRunner.class)注释加载上下文,在上下文中初始化持久性。我不能在EJB中这样做,因为我依赖JavaEE容器来提供数据源和PersistenceContext 您可以在应用程序

假设我想对现有的JPA方案执行一个数据操作,比如为每个实体类创建n个实体。我添加了处理学生的功能,我想从CSV文件加载他们(只是一个虚构的例子)。当然,我已经准备好了实体和表格

现在我如何在EJB范围内实现这一点


通常使用Spring,我只需编写一个单元测试,使用
@RunWith(SpringJUnit4ClassRunner.class)
注释加载上下文,在上下文中初始化持久性。我不能在EJB中这样做,因为我依赖JavaEE容器来提供数据源和
PersistenceContext

您可以在应用程序容器之外使用JPA。在应用程序容器中运行时,您使用的是容器管理的实体管理器。您可以在普通JavaSE应用程序中使用JPA。在这些情况下,您需要一个应用程序管理的实体管理器。它使用javax.persistence.persistence类获取EntityManagerFactory(从中获取EntityManager)


一旦拥有entityManager,就可以执行相同的代码。在测试中,您需要做的就是确保您能够获得持久性类,并且您应该都很好。

只需使用Arquillian即可。请看这个几乎相同的问题: