Поскольку вы используете Spring-boot, я также предполагаю, что вы используете java8. В любом случае попробуйте использовать api времени java8 для даты, например:
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime followupDate;
, и если вы используете JPA 2.1 , который был выпущен до java8, тогда в вашем классе сущности у вас может быть преобразователь в преобразуйте его для sql отметки времени, например:
@Converter(autoApply = true)
public class LocalDateTimeAttributeConverter implements AttributeConverter<LocalDateTime, Timestamp> {
@Override
public Timestamp convertToDatabaseColumn(LocalDateTime locDateTime) {
return locDateTime == null ? null : Timestamp.valueOf(locDateTime);
}
@Override
public LocalDateTime convertToEntityAttribute(Timestamp sqlTimestamp) {
return sqlTimestamp == null ? null : sqlTimestamp.toLocalDateTime();
}
}
Помните, что в более новой версии Hibernate (Hibernate 5) и JPA вышеуказанное преобразование будет выполнено автоматически и не требует от вас предоставления вышеуказанного метода.
Если ваше требование состоит в том, чтобы просто сохранить дату, прочитанную из @RequestParam
через класс сущности в определенном формате, вы всегда можете преобразовать ее вручную в любой формат, который вы можете выбрать, прежде чем устанавливать значение в свою сущность. как класс:
@PostMapping("/caseFollowup")
public Integer updateCaseFollowup(@RequestParam("followupDate")
LocalDateTime followupDate) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formatDateTime = followupDate.format(formatter);
}