0

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

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

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

4

1 回答 1

0

是的,您可以重用 AProject.jar 中的代码。根据Java EE 6 教程的持久性章节

META-INF 目录包含persistence.xml 的JAR 文件或目录称为持久单元的根。持久化单元的范围由持久化单元的根决定。每个持久性单元必须用一个对持久性单元的范围唯一的名称来标识。

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

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

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

如果将持久性单元打包到将包含在 WAR 或 EAR 文件中的 JAR 文件中,则 JAR 文件应位于

WAR 的 WEB-INF/lib 目录

EAR 文件的库目录

于 2013-07-14T23:10:12.320 回答