java - 为什么在 JpaTransactionManager 中使用 jpadialect

标签 java spring jpa jta

我正在从 Spring in Action 学习 spring 3.0。

它谈到了在 JpaTranactionManager 中使用 jpadialect 的重要性

<bean id="transactionManager"
              class="org.springframework.orm.jpa.JpaTransactionManager">
          <property name="entityManagerFactory" ref="entityManagerFactory" />
          <property name="jpaDialect" ref="jpaDialect" />
        </bean>
<bean id="jpaDialect"
        class="org.springframework.orm.jpa.vendor.HibernateJpaDialect" />

然而,方言已经存在于通过 jpaVendorAdaptor 声明的 entityManagerFactory 中。

<bean id="entityManagerFactory" class= "org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
  <property name="dataSource" ref="dataSource" />
  <property name="jpaVendorAdapter" ref="jpaVendorAdapter" />
</bean>
<bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
  <property name="database" value="HSQL" />
  <property name="showSql" value="true"/>
  <property name="generateDdl" value="false"/>
  <property name="databasePlatform"
            value="org.hibernate.dialect.HSQLDialect" />
</bean>  
 <bean id="dataSource" class="org.springframework.jdbc.datasource. DriverManagerDataSource">
   <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
   <property name="url" value="jdbc:hsqldb:hsql://localhost/spitter/spitter" />
   <property name="username" value="sa" />
   <property name="password" value="" />
 </bean>

在JpaTranactionManager中使用方言是多余的吗?

最佳答案

JpaTransactionManager 中使用 jpaDialectjpaVendorAdapter 配置没有冗余。他们的配置有不同的目的。

可以引用this post有很好的解释。

关于java - 为什么在 JpaTransactionManager 中使用 jpadialect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25008082/

相关文章:

jpa - Jetty 可以用作 Java EE 轻量级应用服务器吗?

java - Hibernate JPA 删除分离对象时没有异常

java - 使用java更改Excel单元格颜色

Java - JPA - 为什么我们在 persistence.xml 文件中需要多个 <persistence-unit> 标签?

java - 在struts2操作类中获取json数据为null

java - 无法使用 spring 和 hibernate 5.0 执行空间查询

Spring @Cacheable 默认 TTL

java - 如何仅使用一个 HTTP 请求(JSON 文件)实例化 2 个不同的对象

java - 短信调度问题(Android)

java - 调试 OSGi 组件激活/停用问题