Здравствуйте. У меня ошибка регистрации задач, потому что время должно быть преобразовано из Строка в LocalDateTime , и я не знаю, как преобразовать.Ниже я показал класс Task .
@Entity
@Table(name = "task", schema = "public")
public class Task{
@Id
@GeneratedValue
private Long id;
@NotEmpty
private String date;
@NotEmpty
private LocalDateTime startTime;
@NotEmpty
private LocalDateTime stopTime;
@NotEmpty
@Column(length=1000)
private String description;
@ManyToOne
@JoinColumn(name="USER_EMAIL")
private User user;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public LocalDateTime getStartTime() {
return startTime;
}
public void setStartTime(LocalDateTime startTime) {
this.startTime = startTime;
}
public LocalDateTime getStopTime() {
return stopTime;
}
public void setStopTime(LocalDateTime stopTime) {
this.stopTime = stopTime;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public Task(String date, LocalDateTime startTime, LocalDateTime stopTime, String description, User user) {
this.date = date;
this.startTime = startTime;
this.stopTime = stopTime;
this.description = description;
this.user = user;
}
public Task(String date, LocalDateTime startTime, LocalDateTime stopTime, String description) {
this.date = date;
this.startTime = startTime;
this.stopTime = stopTime;
this.description = description;
}
public Task() {
}
}
В TaskController класс У меня есть эта функция для регистрации задач в DB
@PostMapping("/addTask")
public String addTask(@Valid Task task,
BindingResult bindingResult,
HttpSession session,
@RequestParam("datetime")
@DateTimeFormat(pattern = "dd.MM.yyyy HH:mm:ss.SSSZ") LocalDateTime dateAndTime) {
if(bindingResult.hasErrors()){
return "views/taskForm";
}
String email = (String) session.getAttribute("email");
taskService.addTask(task, userService.findOne(email));
return "redirect:/users";
}
А в TaskService есть функция добавления задач в TaskController .
public void addTask(Task task, User user) {
task.setUser(user);
taskRepository.save(task);
}
Возможно, кто-то разрешит эту ошибку
Не удалось преобразовать значение свойства типа java.lang.String в требуемый тип java.time.LocalDateTime для свойства startTime;вложенным исключением является org.springframework.core.convert.ConversionFailedException: не удалось преобразовать тип [java.lang.String] в тип [@ org.hibernate.validator.constraints.NotEmpty java.time.LocalDateTime] для значения 09:00;вложенным исключением является java.lang.IllegalArgumentException: попытка разбора не удалась для значения [09:00]
и
Не удалось преобразовать значение свойства типа java.lang.Stringк обязательному типу java.time.LocalDateTime для свойства stopTime;вложенным исключением является org.springframework.core.convert.ConversionFailedException: не удалось преобразовать тип [java.lang.String] в тип [@ org.hibernate.validator.constraints.NotEmpty java.time.LocalDateTime] для значения 18:00;вложенное исключение - java.lang.IllegalArgumentException: попытка разбора не удалась для значения [18:00]
, поскольку у меня есть много дней, которые я не могу разрешить.
Заранее спасибо!