我遇到了问题: -我从角度发送日期作为字符串-模式“ 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);
}