如何在我的context.xml中配置hibernate.dialect

时间:2013-11-24 12:41:21

标签: java mysql spring hibernate

这是我的context.xml文件中的相关部分:

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="packagesToScan" value="com.netomedia.model"/>  
<property name="jpaProperties">
    <props>
        <prop key="hibernate.hbm2ddl.auto">update</prop>
        <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
    </props>
</property>
<!-- <property name="persistenceUnitName" value="punit"/> -->
<property name="dataSource" ref="dataSource"/>
<property name="jpaDialect">
    <bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect" />
</property>
<property name="jpaVendorAdapter">
    <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
        <property name="database" value="MYSQL"/>
        <!-- <property name="databasePlatform" value="${hibernate.dialect}"/> -->
        <property name="showSql" value="false"/>               
        <property name="generateDdl" value="false"/>
        <!-- <property name="databasePlatform" value="org.hibernate.dialect.MySQL5Dialect"/> -->
        <!--  <property name="hibernate.connection.autocommit" value="false"/> -->
    </bean>
</property>
<property name="jpaPropertyMap">
    <map>
        <entry key="hibernate.connection.autocommit" value="false" />
    </map>
</property>

我想知道这是否是配置hibernate.dialect的正确方法,以及它们之间有什么区别:

<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>

<property name="databasePlatform" value="org.hibernate.dialect.MySQL5Dialect"/>
谢谢!!

1 个答案:

答案 0 :(得分:2)

我不确定其他语法是否有效,但这有效:

<property name="databasePlatform" value="org.hibernate.dialect.MySQL5Dialect"/>

更新: 我相信其中任何一个都应该工作,prop key = hibernate.dilect是hibernate属性,属性name = databasePlatform是spring属性。

您可以在&lt;下添加一个或多个hibernate特定属性。道具&GT; ...