错误的日期(LocalDate)保存在数据库中

时间:2018-11-26 07:47:17

标签: java mysql sql spring

我遇到了问题: -我从角度发送日期作为字符串-模式“ yy-mm-dd” -我在Java中将此字符串转换为LocalDate。 连接到数据库:

spring.datasource.url=jdbc:mysql://localhost:3306/families?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC

日期正确转换-我在调试过程中检查了这一点。但是日期在db中是不正确的,例如:我发送了2018-12-02但在db 2018-12-01中保存了。

从d到实体的转换

@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
public interface FatherRepository extends JpaRepository<Father, Integer> {  
}

用于保存在数据库中的方法

 @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);
    }

0 个答案:

没有答案