java - 在两个不同的持久化单元中使用相同的实体
问题描述
我有两个数据库(dababase_sales_1 和 dababase_sales_2)与同一个表“销售”我创建了实体“销售”(com.model.Sales)
然后是 2 个持久性单元:
<persistence-unit name="sales_1_PU" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>com.model.Sales</class>
<class>com.model.SalesPK</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<shared-cache-mode>NONE</shared-cache-mode>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/dababase_sales_1"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.user" value="myuser"/>
<property name="javax.persistence.jdbc.password" value="mypasswrod"/>
<property name="eclipselink.jdbc.batch-writing" value="JDBC"/>
<property name="eclipselink.jdbc.batch-writing.size" value="1000"/>
<property name="eclipselink.jdbc.cache-statements" value="false"/>
<property name="eclipselink.cache.shared.default" value="false"/>
<property name="eclipselink.logging.level" value="OFF" />
</properties>
</persistence-unit>
<persistence-unit name="sales_2_PU" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>com.model.Sales</class>
<class>com.model.SalesPK</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<shared-cache-mode>NONE</shared-cache-mode>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/dababase_sales_2"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.user" value="myuser"/>
<property name="javax.persistence.jdbc.password" value="mypasswrod"/>
<property name="eclipselink.jdbc.batch-writing" value="JDBC"/>
<property name="eclipselink.jdbc.batch-writing.size" value="1000"/>
<property name="eclipselink.jdbc.cache-statements" value="false"/>
<property name="eclipselink.cache.shared.default" value="false"/>
<property name="eclipselink.logging.level" value="OFF" />
</properties>
</persistence-unit>
这是我的 POM
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>${mainClass}</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
但是当我用 maven 编译时,我得到了这个错误:
无法在项目 MyProject 上执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile):致命错误编译:java.lang.RuntimeException:javax.annotation.processing.FilerException:尝试重新创建 com.model.SalesPK_ 类型的文件-> [帮助 1]
我试图删除
<exclude-unlisted-classes>true</exclude-unlisted-classes>
但什么都没有……我不明白原因……
解决方案
推荐阅读
- c++ - 我将如何使用初始化列表来直接创建我的链表?
- firebase - FCM 消息状态统计信息未显示在 Play 管理中心
- java - 如何在 Jersey Client 中引发自定义异常?
- sql - 更新前触发sql server
- java - 具有多个数据源的存储库 Bean 创建错误
- oracle - 如何删除 Oracle 12c 中的隐藏列?
- facebook - WooCommerce 添加到卡片事件和 Facebook 像素
- groovy - 带有自定义 sslContext 的 Groovy HTTPBuilder
- arrays - Angular5比较2个(JSON)对象数组并在找到匹配时拼接
- android - 如何在导航控制器中使用共享元素转换