-1

我必须在一个项目中有春天。我有一个由带有实体注释的本地实体生成的内部数据库。但我还必须使用 jpa 访问第二个项目数据库 entityManager。我如何配置persistence.xml 和注释。项目已经有 openjpa 来访问本地数据库。我想知道,

  1. 我应该将@Entity 用于外部数据库实体吗?

  2. 我应该为外部数据库实体放置表吗?

  3. 如何防止 openJPA 或 spring
    再次尝试生成表?


  4. 我的外部数据库也是由spring, jpa的外部项目生成的。它的表的名称类似于 MYPROJECT_address、
    MYPROJECT_message。我怎样才能告诉我的 access_out_project 那里有带有这些实体的构建表。

到目前为止,我写入了 access_out_project 的 persistence.xml 以对外部数据库进行外部访问:

<persistence-unit name="myPU" transaction-type="RESOURCE_LOCAL">
        <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
        <class>pack.EmailAddress</class>
        <class>pack.Message</class>
           <properties>
                <property name="javax.persistence.jdbc.user" value="root" />
                <property name="javax.persistence.jdbc.password" value="root" />
                <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/kepsDb" />
                <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
            </properties>

        </persistence-unit>

但它会尝试生成名称如消息、地址的表。我不知道如何防止它再次生成它们。

但主要问题在上面。谢谢。

4

1 回答 1

0

添加这个:

        <property name="hibernate.hbm2ddl.auto" value="validate"/>

这将告诉 hibernate 只验证表是否存在。

于 2012-09-30T03:42:38.883 回答