我正在向使用MariaDB服务的Swisscom应用云部署一些spring-boot应用程序。该服务使用CloudFoundry连接器在我的应用程序中自动配置,并且连接工作正常。
然而:由于我在我的Java代码中大量使用ZonedDateTime-Object,我还包含在pom. xml中…
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-java8</artifactId>
</dependency>
…以正确保留数据库中的ZonedDateTimes。
这在我的本地MariaDB上工作得很好,当我添加…
...?useLegacyDatetimeCode=false
…连接字符串(如下所述:https://moelholm.com/2016/11/09/spring-boot-controlling-timezones-with-hibernate/-
如何将此标志(可能还有其他标志)添加到Swisscom应用云上的MariaDB服务连接?
如果将Spring on CloudFoundry与MariaDB绑定结合使用,则数据源将由以下机制自动配置:https://docs.cloudfoundry.org/buildpacks/java/spring-service-bindings.html
这由Spring云连接器项目提供支持,您可以根据需要对其进行自定义。
我没有测试它,但您应该能够设置驱动程序属性如下:
@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);
}