假设我想对现有的JPA方案执行单个数据操作,例如每个实体类创建实体学生。我已经添加了处理学生的功能,我想从CSV文件中加载它们(只是一个虚构的例子)。当然,我已经准备好了实体和表格。
现在我如何在EJB范围内执行此操作?
通常使用Spring我只需编写一个使用@RunWith(SpringJUnit4ClassRunner.class)
注释的单元测试来加载上下文,其中初始化持久性。我无法在EJB中执行此操作,因为我依赖Java EE容器来提供数据源和PersistenceContext
。
答案 0 :(得分:0)
您可以在应用程序容器之外使用JPA。在应用程序容器中运行时,您使用的是容器管理的实体管理器。您可以在普通的JavaSE应用程序中使用JPA。在这些情况下,您需要应用程序管理的实体管理器。哪个使用javax.persistence.Persistence类来获取EntityManagerFactory(从中获取EntityManager)。
拥有entityManager后,您可以执行相同的代码。在测试中你需要做的就是确保你可以进入Persistence类,你应该都很好。