如何在Spring数据中使用自定义数据库方言?

时间:2018-12-31 21:52:55

标签: java kotlin spring-data-jpa spring-data

我需要避免在休眠状态下db2方言中的某些错误。 我使用spring数据+ gradle(几个模块)+ kotlin 我创建了自定义方言

spring:
  jpa:
    properties:
      hibernate:
        dialect: com.my.config.DB2zOSDialect 

并尝试将其添加到application.properties

let

但是使用DB2Dialect连续获取弹簧数据

我尝试了相同的代码,但是使用的是java + maven +相同的spring数据,并且可以正常工作。

因此,我不知道为什么春季数据没有使用我的自定义方言。

有什么方法可以将方言添加到spring数据中吗?

1 个答案:

答案 0 :(得分:0)

所以,我自己解决了问题,但是我仍然不知道为什么行为不同。

我设置了

spring.jpa.database = default

并添加

spring.jpa.properties.hibernate.dialect_resolvers = com.my.config.CustomDialectResolver

并编写了简单的解析器

class CustomDialectResolver : DialectResolver {

    override fun resolveDialect(info: DialectResolutionInfo?): Dialect {
        return DB2zOSDialect()
    }
}