시간대 문제를 수정하기 위해 추가 파라미터를 MariaDB 연결 문자열에 전달하는 방법(예: useLegacyDatetimeCode)
MariaDB 서비스를 사용하는 Swisscom AppCloud에 spring-boot 앱을 도입하려고 합니다.CloudFoundry 커넥터를 사용하여 앱에서 서비스가 자동으로 구성되고 연결이 정상적으로 작동합니다.
단, Java-Code에서 ZonedDateTime-Objects를 많이 사용하기 때문에 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/ -> "BONUS TIP: MariaDB/MySQL에서 동작하기 위한 휴지 상태 설정 가져오기"에 대해 설명합니다).
Swisscom AppCloud의 MariaDB 서비스 연결에 이 플래그(다른 플래그도 포함)를 추가하려면 어떻게 해야 합니까?
CloudFoundry에서 Spring을 MariaDB 바인딩과 함께 사용하는 경우 데이터 소스는 다음 메커니즘에 의해 자동으로 설정됩니다.https://docs.cloudfoundry.org/buildpacks/java/spring-service-bindings.html
이 기능은 스프링 클라우드 커넥터 프로젝트를 통해 제공되며, 필요에 따라 커스터마이즈할 수 있습니다.
테스트하지 않았습니다만, 다음과 같이 드라이버의 속성을 설정할 수 있습니다.
@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);
}
언급URL : https://stackoverflow.com/questions/42830126/how-to-pass-additional-parameters-to-mariadb-connect-string-to-fix-timezone-issu
'programing' 카테고리의 다른 글
프로젝트 중 C 프로그램에서 소스 코드를 읽는 방법은 무엇입니까? (0) | 2022.09.29 |
---|---|
set_time_limit()와 ini_set의 차이('max_execution_time', ...) (0) | 2022.09.29 |
PHP 치명적 오류:오브젝트 컨텍스트가 아닌 경우 $this 사용 (0) | 2022.09.29 |
오류 2002(HY000):소켓 '/var/run/mysql'을 통해 로컬 MySQL 서버에 연결할 수 없습니다.양말' (2) (0) | 2022.09.25 |
JPA 및 휴지 상태 사용 시 동일 및 해시 코드 구현 방법 (0) | 2022.09.25 |