有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在两个不同的持久化单元中使用相同的实体

我有两个数据库(dababase_sales_1和dababase_sales_2)和同一个表“sales” 我创建了实体“Sales”(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编译时,我会遇到以下错误:

无法执行目标组织。阿帕奇。专家插件:maven编译器插件:3.1:project MyProject上的compile(默认编译):致命错误编译:java。lang.RuntimeException:javax。注释。处理。FilerException:尝试为com类型重新创建文件。模型SalesPK->;[帮助1]

我试图移除

<exclude-unlisted-classes>true</exclude-unlisted-classes> 

但什么都没有。。 我不明白为什么


共 (0) 个答案