java - JPA persistence.xml 和 MySQL - 未采用正确的 "hibernate.connection.url"目录

标签 java mysql hibernate jpa persistence.xml

我首先使用了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 工作时,如果我想更改 schema/catalog,我只需要更改 persistence.xml 中的属性 "hibernate.connection.url">:

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

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

最佳答案

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

/**
 * Constante generated by hbm2java
 */

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

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

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

关于java - JPA persistence.xml 和 MySQL - 未采用正确的 "hibernate.connection.url"目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25014678/

相关文章:

java - BlockingQueue 在 Java 中是完全线程安全的吗

java - 我如何等待 Java 应用程序中的 Elastic MapReduce 作业流完成?

java - 编译 Maven Selenium 项目时出错 - 找不到编译错误包

java - Spring Data JPA无法找到带有id的对象

java - Eclipse for Java 显示多个错误

java - 从 Arraylist 创建字符串数组

php - 检查用户名和电子邮件是否已存在于数据库中

php - PHP 和 Mysql 中的 session

java - Hibernate HQL JOIN - 获取的关联不存在

java - 将投影形式 Hibernate HQL 查询映射到对象