我正在将一些spring-boot应用程序部署到使用MariaDB服务的Swisscom AppCloud。该服务在我的应用程序中使用CloudFoundry连接器自动配置,连接工作正常。
但是:由于我在Java代码中大量使用ZonedDateTime对象,因此我还将其包含在pom.xml中...
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-java8</artifactId>
</dependency>...to在数据库中正确保留ZonedDateTimes。
这在我本地的MariaDB上运行得很好,当我添加...
...?useLegacyDatetimeCode=false使用连接字符串(如此处所述:https://moelholm.com/2016/11/09/spring-boot-controlling-timezones-with-hibernate/ -> "BONUS ...to : with the Hibernate configuration to work with MariaDB / MySQL")。
如何将此标志(以及其他标志)添加到到Swisscom AppCloud上的MariaDB服务的连接中?
发布于 2017-03-17 04:58:23
如果将Spring on CloudFoundry与MariaDB绑定结合使用,则会通过以下机制自动配置数据源:https://docs.cloudfoundry.org/buildpacks/java/spring-service-bindings.html
这是由Spring cloud connectors项目which you can customize to your needs提供支持的。
我没有测试它,但您应该能够设置驱动程序属性,如下所示:
@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);
}https://stackoverflow.com/questions/42830126
复制相似问题