Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Qual a necessidade do "?useTimeZone=true&serverTimeZone=UTC" na URL?

É só por curiosidade mesmo, afinal, fiz um

System.out.println(connection);

para ver qual era o objeto da conexão COM e SEM o

"?useTimeZone=true&serverTimeZone=UTC" 

e o resultado foi o mesmo. Apenas não entendi para que serve...

2 respostas
solução!

Olá Humberto, tudo bem?

Provavelmente você está usando MySQL, correto?

A depender da versão que você estiver usando, e também da forma como o servidor em que o banco está instalado está configurado, você precisa determinar claramente a qual TimeZone você está se referindo, e esses parâmetros useTimeZone e serverTimeZone servem justamente para isso, para informar que você vai informar um TimeZone e qual é.

Dependendo, sem esses parâmetros você pode tomar algum erro similar a:

Caused by: com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: The server time zone value 'BRT' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-configuration-properties.html

E, só para matar a curiosidade, esses parâmetros informados na URL de conexão não mudam o objeto criado, por isso você obteve o mesmo resultado através da saída do comando println

Abraços!

Show, Renato! Valeu pela informação!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software