【发布时间】:2017-03-20 05:40:05
【问题描述】:
我在我的项目中使用Spring 和Hibernate。我的数据库已经从Oracle 10g 更改为MySQL。
您能告诉我我需要对我的Hibernate 配置进行哪些更改吗?
我的Java 代码中是否需要进行任何更改。
【问题讨论】:
标签: mysql database spring oracle hibernate
我在我的项目中使用Spring 和Hibernate。我的数据库已经从Oracle 10g 更改为MySQL。
您能告诉我我需要对我的Hibernate 配置进行哪些更改吗?
我的Java 代码中是否需要进行任何更改。
【问题讨论】:
标签: mysql database spring oracle hibernate
如果您在项目中使用 hibernate.cfg.xml 来定义数据库属性,那么您需要将其更改为 MySQL 的以下值:-
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration SYSTEM
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/{db.name}</property>
<property name="hibernate.connection.username">{db.name}</property>
<property name="hibernate.connection.password">{db.password}</property>
</session-factory>
</hibernate-configuration>
例如,您还需要在 pom.xml 中包含 mysql-connector jar
<!--Mysql-Connector-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.36</version>
</dependency>
如果您不使用 hibernate.cfg.xml 而是在 Spring ApplicationContext.xml 中使用一些 sessionFactory bean。然后您需要将其更改为以下内容:-
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="annotatedClasses">
</property>
<property name="hibernateProperties">
<props>
<!-- As of now not using hibernate.cfg.xml -->
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.validator.apply_to_ddl">false</prop>
<prop key="hibernate.validator.autoregister_listeners">false</prop>
<prop key="show_sql">true</prop>
<prop key="format_sql">true</prop>
</props>
</property>
</bean>
<bean id="dataSource"
class="org.apache.tomcat.dbcp.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.user}" />
<property name="password" value="${jdbc.pass}" />
</bean>
请关注http://www.baeldung.com/hibernate-4-spring,了解如何使用 spring 设置休眠的完整示例。
【讨论】: