【发布时间】:2014-07-12 05:05:51
【问题描述】:
我开发了几个 jar 文件(tasks.jar、calendar.jar、user.jar、authentication.jar),其中每个文件都包含 persistence.xml 文件。所有这些 persistence.xml 文件都具有相同的持久性单元名称,例如“TASK_MANAGER”。
我的问题是我能否将这些 jar 文件添加到 JSF Web 项目的 lib 文件夹中,并通过托管会话 bean 使用它们,该 bean 再次使用 JPA 实体管理器,持久性单元名称为“TASK_MANAGER”。例如:
//All the imports go here (import com.app.model.task) etc....
@ManagedBean
@RequestScoped
public class TaskController{
//Access the entity manager and work with their methods here
}
我知道http://docs.oracle.com/javaee/6/tutorial/doc/bnbqw.html
如果您将持久性单元打包在一个 JAR 文件中, 包含在 WAR 或 EAR 文件中,JAR 文件应位于 要么
- WAR 的 WEB-INF/lib 目录
- EAR 文件的库目录
但我的问题是我可以使用多个persistence.xml 文件来做到这一点。
因为在 Eclipse 中,当我尝试实现这一点时,只加载了最终的 jar 文件的持久性文件,我知道这是因为当我尝试运行应用程序时无法识别其他实体。
如何在一个项目中包含多个 persistence.xml 文件。
我已经检查了这些 Configure persistence units to be available in several jars of an ear 和 https://stackoverflow.com/questions/23398636/combining-entities-across-jars-in-a-single-persistence-xml-file。
【问题讨论】:
标签: jsf jpa eclipse-kepler persistence.xml