另一个项目的persistence.xml

时间:2013-07-14 13:21:28

标签: java jpa

我有一个用于我的数据库模型和JPA控制器的API,我将AProject的jar添加到我的BProject。当我在BProject

中声明我的API时

错误是No Persistence provider for EntityManager named "MyPersistenceUnitName" in my "BProject"

是否有可能或应该创建我在AProject中调用的内容?

1 个答案:

答案 0 :(得分:0)

是的,您可以重复使用AProject.jar中的代码。根据{{​​3}}:

  

META-INF目录包含的JAR文件或目录   persistence.xml被称为持久性单元的根。范围   持久性单元的长​​度由持久性单元的根确定。   必须使用唯一的名称标识每个持久性单元   持久性单位的范围。

     

持久单元可以打包为WAR或EJB JAR文件的一部分或   可以打包为JAR文件,然后可以包含在WAR或   EAR文件。

     

如果将持久性单元打包为EJB JAR中的一组类   文件,persistence.xml应该放在EJB JAR的META-INF中   。目录

     

如果将持久性单元打包为WAR文件中的一组类,   persistence.xml应该位于WAR文件中   WEB-INF / classes / META-INF目录。

     

如果将持久性单元打包在一个JAR文件中   包含在WAR或EAR文件中的JAR文件应位于   任

     

WAR的WEB-INF / lib目录

     

EAR文件的库目录