我们创建了一些我们所有项目都将使用的库,这些库将提供我们所有系统的基本功能(登录、一些管理等)。但是应用程序本身可以使用另一个数据库。
我们所做的是创建带有两个持久单元的 Persistence.xml。并将所有核心库实体打包在一个名为“LN-model.jar”的jar中,并将所有测试应用程序的实体打包在“App-model.jar”中。但由于某种原因,我们仍然收到以下消息。
无法解析与名为 [gfdeploy#/Users/zkropotkine/WORK/SeguridadCore/dist/gfdeploy/SeguridadCore-war_war] 的模块范围内的 persistence-context-ref-name [xxxxlistener.InicializadorListener/em] 对应的持久性单元. 请验证您的申请。
这是我们的 Persistence.xml
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="x" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/x</jta-data-source>
<jar-file>App-model.jar</jar-file>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
</properties>
</persistence-unit>
<persistence-unit name="y" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/y</jta-data-source>
<jar-file>LN-model.jar</jar-file>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties/>
</persistence-unit>
顺便说一下,我们将 Persistence.xml 放在一个 jar 中,我们将其添加到我们的企业项目 (EAR) 中。