Spring启动Hibernate Teradata无法确定要使用的Dialect

时间:2016-11-17 14:40:50

标签: java spring hibernate spring-data-jpa teradata

Application.properties:

spring.jpa.database-platform=org.hibernate.dialect.TeradataDialect

数据源bean:

@Bean  
public DataSource dataSource() {
  return  DataSourceBuilder
        .create()
            .driverClassName("com.teradata.jdbc.TeraDriver")
       .username("dbc")
     .password("dbc")
      .url("jdbc:teradata://name/DBC")

       .build();

    }

但是我收到了这个错误:

Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set

1 个答案:

答案 0 :(得分:1)

尝试从java config中删除dataSource bean,让spring-boot通过在apllication.properties中提供更多属性来初始化dataSource:

#DataSource configuration
spring.datasource.driverClassName=com.teradata.jdbc.TeraDriver
spring.datasource.url=jdbc:teradata://name/DBC
spring.datasource.username=dbc
spring.datasource.password=dbc

#JPA/HIbernate
spring.jpa.database-platform=org.hibernate.dialect.TeradataDialect