I had problem: -I send date as a string from angular - pattern "yy-mm-dd" -I convert this String to LocalDate in Java. Connection to DB: spring.datasource.url=jdbc:mysql://localhost:3306/families?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC Date in converted correctly - I checked this during debugging. But date is incorrect in db, for example: I send 2018-12-02 but in db 2018-12-01 is saved. Conversion from dto to entity @Override public Father convertToEntity(FatherDto fromDto) { LocalDate birthDate = LocalDate.parse(fromDto.getBirthDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd")); return new Father(fromDto.getId(), birthDate, fromDto.getFirstName(), fromDto.getLastName(), fromDto.getPesel(), fromDto.getSecondName()); } Repository @Repository public interface FatherRepository extends JpaRepository<Father, Integer> { } Method used to save in db @Override @Transactional public void addFatherToFamily(int familyId, FatherDto fatherDto) { Family family = familyRepository.findById(familyId).get(); Father father = fatherConverter.convertToEntity(fatherDto); father.setFamily(family); fatherRepository.save(father); } Continue reading...