0
Может ли кто-нибудь объяснить, как передать идентификатор из представления в контроллер? sourcesНе удается передать данные из поля зрения на контроллер
Проблема: при попытке изменить существующую задачу у меня есть новая задача. С новым измененным именем.
@RequestMapping("/edit/{id}")
public String editTask(@PathVariable("id") Long id, Model model) {
model.addAttribute("task", taskService.getTaskById(id));
model.addAttribute("tasks", taskService.listTasks());
return "tasks";
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String addTask(@ModelAttribute("task") Task task) {
if (task.getId() == null) {
taskService.addTask(task);
} else {
taskService.updateTask(task);
}
return "redirect:/";
}
Так, в addTask()
task.id
всегда = null
, но task.taskName
не равно нулю. Что случилось с Long id
? Возможно, это как-то влияет?
@Transactional
@Entity(name = "tasks")
public class Task {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Basic
private String taskName;
Вы не должны испытывать какие-либо проблемы отображения 'типы Long' в Java. Но какой тип 'id' в базе данных? –
Я не знаю, я сам не создаю стол. Hibernate делает. –
'bigint (20)' показывает MySql Workbench –