访问不在项目中的数据库

时间:2012-09-29 18:02:50

标签: spring jpa

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

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

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

  3. 如何阻止openJPA或spring试图生成表格 再次?

  4. 我的外部数据库也是由外部项目生成的 春天,jpa。它的表名如MYPROJECT_address,
    MYPROJECT_message.How我可以告诉我的access_out_project那里 用这些实体构建表格。

  5. 到目前为止,我写入了access_out_project的persistence.xml,用于外部访问外部db:

    <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>
    

    但它尝试生成一个名称如message,address的表。一世     不知道如何阻止它再次生成它们。

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

1 个答案:

答案 0 :(得分:0)

添加:

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

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