【问题标题】:Accessing a database which is out of project访问项目外的数据库
【发布时间】:2012-09-29 18:02:50
【问题描述】:

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

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

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

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

  4. 我的外部数据库也是由外部项目生成的,
    春天,JP它的表的名称类似于 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>

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

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

【问题讨论】:

    标签: spring jpa


    【解决方案1】:

    添加这个:

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

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

    【讨论】:

      猜你喜欢
      • 2021-01-04
      • 2010-11-23
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 2020-11-30
      • 1970-01-01
      • 2017-07-04
      • 2017-10-29
      相关资源
      最近更新 更多