如何将其他参数传递给MariadB连接字符串以修复时区问题(例如USELEGACYDATETIMECODE)



我正在将一些Spring-Boot应用程序部署到Swisscom AppCloud,该应用使用Mariadb服务。该服务使用CloudFoundry连接器在我的应用中自动配置,并且该连接正常。

但是:由于我在Java代码中大量使用ZonedDateTime-Objects,所以我还包括在pom.xml ...

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-java8</artifactId>
    </dependency>

...正确保留数据库中的ZonedDatetimes。

当我添加...

时,这在我当地的Mariadb上正常工作
    ...?useLegacyDatetimeCode=false

...到Connect String(如下所述:https://moelholm.com/2016/11/11/09/spring-boot-boot-controllling timezones-with-hibernate/->>>>"奖励提示:获得Hibernate配置与Mariadb/mysql")。

如何将此标志(也许也是其他)添加到瑞士cloud上的Mariadb服务的连接?

-bindings.html

这是由Spring Cloud Connectors Project提供动力的,您可以根据自己的需求进行自定义。

我没有测试它,但是您应该能够设置驱动程序属性如下:

@Bean
public DataSource dataSource() {
    PoolConfig poolConfig = new PoolConfig(5, 30, 3000);
    ConnectionConfig connConfig = new ConnectionConfig("useLegacyDatetimeCode=false");
    DataSourceConfig dbConfig = new DataSourceConfig(poolConfig, connConfig);
    return connectionFactory().dataSource(dbConfig);
}

最新更新