JPA persistence.xml 和 MySQL - 没有采用正确的“hibernate.connection.url”目录

Posted

技术标签:

【中文标题】JPA persistence.xml 和 MySQL - 没有采用正确的“hibernate.connection.url”目录【英文标题】:JPA persistence.xml and MySQL - Not taking the correct "hibernate.connection.url" catalog 【发布时间】:2014-07-29 11:53:33 【问题描述】:

我首先使用了 Ingres 数据库,没有出现任何问题。 我已经在同一个端口中为我的 mysql 数据库配置了两个模式/目录,一个用于生产者,另一个用于测试。 在 persistence.xml 文件中,我有以下配置:

<persistence-unit name="my_schema">
    ... classes ...

    <properties>
        <property name="hibernate.connection.url" value="jdbc:mysql://URL:3306/my_schema"></property>
        <property name="hibernate.connection.username" value="my_user"></property>
        <property name="hibernate.connection.password" value="my_pass"></property>
        <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"></property>
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"></property>
        <property name="hibernate.connection.nombre" value="my_schema" />

    </properties>
</persistence-unit>

我的 Java 实体类具有以下定义和注释:

/**
* Constante generated by hbm2java
*/
@Entity
@Table(name = "CONSTANTE", catalog = "my_schema")
public class Constante implements java.io.Serializable 
    ....

我在 Ingres 工作时,如果我想更改架构/目录,我只需要更改 persistence.xml 中的属性 "hibernate.connection.url" >:

<property name="hibernate.connection.url" value="jdbc:mysql://URL:3306/my_schema_2">

在 MySQL 中,我必须更改每个类中的 "catalog" 注释。有没有更简单或更实用的方法来做到这一点? 事实上,在 MySQL 中,我可以在 url 架构部分中编写任何我想要的内容,并且程序继续工作。

【问题讨论】:

【参考方案1】:

由于您的实体类是从架构中生成的:

/**
 * Constante generated by hbm2java
 */

您可以简单地删除表格注释中的目录条目:

@Entity
@Table(name = "CONSTANTE")
public class Constante implements java.io.Serializable 

然后,就像您之前经历的那样,如果您需要更改架构,只需更改 hibernate.connection.url 的值即可。

【讨论】:

它工作得很好,但是......是否可以在没有目录注释的情况下生成类,而不是在每个类中手动删除它? 用这个解决方案解决了,谢谢! ***.com/questions/1218028/…

以上是关于JPA persistence.xml 和 MySQL - 没有采用正确的“hibernate.connection.url”目录的主要内容,如果未能解决你的问题,请参考以下文章

如何为 JPA 和 Hibernate 创建一个 persistence.xml 文件?

Jpa 的Persistence.xml配置讲解

EJB,JPA persistence.xml问题Wildfly 8.2 intellij

JPA的配置文件persistence.xml参数详解

使用 JDBC 和 persistence.xml

Jpa规范中persistence.xml 配置文件解析