Spring save() вставка вместо слиянияJAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Spring save() вставка вместо слияния

Сообщение Гость »


Я искал похожие темы и, к сожалению, не помог.

Я начинаю с кнопки для редактирования произвольного задания

Изменить Контроллер обрабатывает это следующим образом:

// показываем форму обновления @RequestMapping(value = "/updateprep/{id}", метод = RequestMethod.GET) public String showUpdateUserForm(@PathVariable("id") Длинный идентификатор, модель модели) { Задание jobToUpdate = репозиторий.findById(id).orElseThrow(); model.addAttribute("updateJob", jobToUpdate); если (log.isDebugEnabled()) { log.debug("/updateprep: будет редактировать задание с идентификатором {}", id); log.debug("/updateprep: Задание — {}", jobToUpdate); } вернуть «обновить задание»; } Это предоставляет форму для обновления Задания, которое должно иметь правильный Задание, найденное по его идентификатору. Проверка моего журнала отладки в контроллере выше показывает, что был найден правильный.

Обновить задание Дата Время Место Сумма Оплачивается Платно Заметки Сохранить Это несложная процедура сохранения, но именно в этот момент идентификатор становится нулевым, и в результате правильное Задание не обновляется, а полностью в таблицу базы данных вставляется новая строка:

@RequestMapping(value = "/savejob", метод = RequestMethod.POST) // публичная строка saveJob(@RequestParam Job updateJob) { public String saveJob(@ModelAttribute("updateJob") Job updateJob) { если (log.isDebugEnabled()) { log.debug("/savejob: сохранение задания с идентификатором {} и датой {}", updateJob.getId(), updateJob.getDate()); } репозиторий.save(updateJob); вернуть «панель управления»; } Определение Job включает в себя:

@Entity общественный класс Job { @Идентификатор // @GeneratedValue(strategy=GenerationType.SEQUENCE) @GeneratedValue(стратегия = GenerationType.IDENTITY) // @GeneratedValue(strategy=GenerationType.AUTO) частный длинный идентификатор; @Column(name = «Дата», nullable = false, columnsDefinition = «ДАТА») частная дата LocalDate; личное струнное место; частная двойная сумма; @Column(name = "Выставлен счет", nullable = false, columnsDefinition = "TINYINT(1)") частный логический счет; @Column(name = «Оплачено», nullable = false, columnsDefinition = «TINYINT(1)») платное частное логическое значение; частные строковые заметки; Что происходит не так?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»