首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向MariaDB连接字符串传递附加参数以修复时区问题(例如useLegacyDatetimeCode)

如何向MariaDB连接字符串传递附加参数以修复时区问题(例如useLegacyDatetimeCode)
EN

Stack Overflow用户
提问于 2017-03-16 17:34:34
回答 1查看 349关注 0票数 3

我正在将一些spring-boot应用程序部署到使用MariaDB服务的Swisscom AppCloud。该服务在我的应用程序中使用CloudFoundry连接器自动配置,连接工作正常。

但是:由于我在Java代码中大量使用ZonedDateTime对象,因此我还将其包含在pom.xml中...

代码语言:javascript
复制
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-java8</artifactId>
    </dependency>

...to在数据库中正确保留ZonedDateTimes。

这在我本地的MariaDB上运行得很好,当我添加...

代码语言:javascript
复制
    ...?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服务的连接中?

EN

回答 1

Stack Overflow用户

发布于 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提供支持的。

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

代码语言:javascript
复制
@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);
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42830126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档