Начал изучать Spring Framework (Spring Boot) и столкнулся с проблемой.Попытка назначить выбранных авторов для выполнения вновь созданной задачи.Как правильно получить отношения List<Object>
с @ManyToMany
с PostMapping?Вот мой простой код:
Сущность задачи:
@Entity @Data
@Table(name = "tasks")
public class Task {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long taskId;
@ManyToMany(fetch = FetchType.EAGER, mappedBy = "taskList")
private List<User> userList;
}
Сущность пользователя:
@Entity @Data
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long user_id;
@ManyToMany
@JoinTable(name="task_authors",
joinColumns = @JoinColumn(name="user_id", referencedColumnName="user_id"),
inverseJoinColumns = @JoinColumn(name="task_id", referencedColumnName="taskId")
)
private List<Task> taskList;
}
TaskController:
@PostMapping("/add")
public String addTask(
@AuthenticationPrincipal UserDetails currentUser,
@RequestParam("WebsiteId") Website website,
@ModelAttribute Task task,
@RequestParam("taskAuthors") List<User> taskAuthors
) {
User owner = (User) userService.findUserByEmail(currentUser.getUsername());
task.setOwnerId(owner.getUser_id());
task.setUserList(taskAuthors);
taskService.addTask(task);
return "redirect:/tasks";
}
Пример таблицы:
+---------+---------+
| user_id | task_id |
+---------+---------+
| 1 | 5 |
| 2 | 5 |
| 3 | 5 |
+---------+---------+
При отправке формы задача создается, но таблица выше не заполняется.
Снимок экрана из вкладки "Сеть" в браузерах: 
Эта строка кода из GetMapping (форма отправки задания)
@GetMapping("/add")
public String addTaskForm(
Model model,
@AuthenticationPrincipal UserDetails currentUser
) {
User user = (User) userService.findUserByEmail(currentUser.getUsername());
model.addAttribute("user", user);
model.addAttribute("authors",userService.getAllUsersAuthors(user.getUser_id()));
return "backend/add-task";
}
Где я ошибаюсь?Нужно ли создавать обертку?Заранее спасибо)