Дата в базу ложится не правильно, на 1 день меньше указанной в шаблоне
Подскажите пожалуйста. Я так понимаю проблема в JPA? До метода save() дата выводится такая же какая введена в шаблоне Thymeleaf, а уже в базе дата на 1 день раньше. Как ее решить?
Часть кода контроллера:
@PostMapping("/new_violation")
public String saveViolation(
@Valid @ModelAttribute("violation") Violation violation
) {
System.out.println(violation.getDateProtocol());
violationService.save(violation);
return "/new_violation";
}
В сервисе:
@Service
public class ViolationServiceImpl implements ViolationService {
private final ViolationRepository repo;
@Autowired
public ViolationServiceImpl(ViolationRepository repo) {
this.repo = repo;
}
@Override
public void save(Violation violation) {
System.out.println(violation.getDateProtocol());
repo.save(violation);
}
В репозитории:
import org.springframework.data.jpa.repository.JpaRepository;
import ru.asu.pdn.model.Violation;
import java.util.Date;
import java.util.List;
public interface ViolationRepository extends JpaRepository<Violation, Long> {
}
Ну и кусок из шаблона на всякий случай:
<td th:text="${#dates.format(violation.dateProtocol, 'dd.MM.yyyy')}">Дата протокола</td>
Ответы (1 шт):
Автор решения: Ali Aliev
→ Ссылка
В общем помогло следующая строка в .properties: spring.datasource.url=jdbc:mysql://localhost:3306/my_db?useSSL=false&&serverTimezone=UTC&useLegacyDatetimeCode=false&serverTimezone=Europe/Moscow
Надеюсь кому-то поможет