Thymeleaf поле объекта сбрасывается на 0
Делаю приложение на Spring Boot с использованием Thymeleaf.
В представлении пытаюсь присвоить полю объекта значение другой переменной и передать обратно в контроллер. После передачи этого объекта в контроллер значение поля почему-то равно 0. То ли значение почему-то не присваивается этому полю, то ли не передается. Вот форма представления:
<form sec:authorize="isAuthenticated()" th:method="POST" th:object="${comment}" th:action="@{/tasks/comment/{id}(id=${task.id})}"> <!--TODO-->
<input type="text" th:field="*{body}"/>
<input type="hidden" th:field="*{taskId}" th:value="${task.id}"/><br>
<span th:text="${task.id}"/>
<input type="submit" value="Комментировать"/>
</form>
Значение поля taskId после передачи равно 0. Хотя участок <span th:text="${task.id}"/> выводит правильное значение.
Контроллер:
@PostMapping("/comment/{id}")
public String postComment(@PathVariable long id, @ModelAttribute @Valid Comment comment
, BindingResult br, Model model
, @AuthenticationPrincipal PersonDetails pd) {
if (br.hasErrors()) {
System.out.println("br has errors " + comment.getTaskId());
return showTask(comment.getTaskId(), model, pd);
}
System.out.println("return showtask()");
return showTask(commentService.save(id, comment, pd).getTask().getId(), model, pd);
}
Как результат выводится br has errors 0.
Сущность:
@Entity
@Table(name = "comments")
public class Comment {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotBlank(message = "Комментарий не может быть пустым")
private String body;
@NotNull(message = "Комментарий, не прикрепленный к задаче, недопустим")
@ManyToOne
@JoinColumn(name = "task_id", referencedColumnName = "id")
private Task task;
private transient long taskId;
@NotNull(message = "У комментария должен быть автор :)")
@ManyToOne
@JoinColumn(name = "author_id", referencedColumnName = "id")
private Person author;
@CreatedDate
private LocalDateTime createdAt;
private LocalDateTime editedAt;
public Comment(){}
// getters, setters
Пробовал убирать модификатор transient с поля - бесполезно.