Data retorna do banco modificada

2 respostas Resolvido
jpajsphibernatejavaspring
rbedin

Boa tarde senhores,

tenho uma aplicação spring + hibernate + mysql

Estou passando uma dificuldade em solucionar o motivo ao qual a data retorna do banco com um dia a menos, sendo que no banco a data é gravada corretamente.

minha classe está assim:

@Temporal(TemporalType.DATE)
@Column(columnDefinition="DATE", length=10)
@NotNull(message="Informe a data de check-in.")
@DateTimeFormat(pattern="dd/MM/yyyy")
private Date data_checkin;

Exemplo:

Até ai tudo bem, após salvar no banco uma data qualquer por exemplo: 07/08/2018
quando mando listar o valor, o campo vem 06/08/2018, sendo que em momento algum faço modificação na data.

Usando o log4j e show_sql o valor esta vendi já assim, antes mesmo de mostrar na view, e no banco a data é gravada corretamente: 07/08/2018.

Alguém já passou por isso? agradeço a quem pude ajudar.

2 Respostas

Rodrigo_Void

Qual é o tipo q está usando no banco pra data?
Printe o valor no back antes de trazer pro front e confere.
O pior caso é vc compara o valor do banco com oq aparece no navegador, tem uma galáxia de possibilidades no meio disso, reduza para a metade, verificando no back antes de retornar.

DEBUG, DEBUG, DEBUG, DEBUG, DEBUG, DEBUG, DEBUG, DEBUG, DEBUG, DEBUG, DEBUG

rbedin
Solucao aceita

Valews Rodrigo,

acabei encontrando o problema, fucei demais na madrugada e vou deixar aqui caso alguém esteja passando pela mesma dificuldade:

Estava utilizando o driver mysql na ultima versão, 8.0.12 e passando na string de conexão o timezone=UTC, troquei o driver por um antigo de outro projeto, e funcionou perfeitamente. Acredito ser algum problema de configuração com o novo driver e o tal timezone, pois sei que o timezone tem have com horário de verão, GMT, etc… podendo influenciar nas datas e horaríos.

Então fica a dica, experimente trocar o drive por uma versão mais antiga, no meu caso a 8.0.12 foi substituída pela 5.1.42.

Problema resolvido! :blush:

Criado 7 de agosto de 2018
Ultima resposta 8 de ago. de 2018
Respostas 2
Participantes 2