这是我的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"/>
谢谢!!
答案 0 :(得分:2)
我不确定其他语法是否有效,但这有效:
<property name="databasePlatform" value="org.hibernate.dialect.MySQL5Dialect"/>
更新: 我相信其中任何一个都应该工作,prop key = hibernate.dilect是hibernate属性,属性name = databasePlatform是spring属性。
您可以在&lt;下添加一个或多个hibernate特定属性。道具&GT; ...