Сохранение изменения записи в БД
Здраствуйте, пытаюсь сохранить запись в бд используя значения с формы html. По id в поля подставляются значения из базы, я меняю какое-либо поле и... у меня создается новая запись. Вроде бы записываю id записи для редактирования в невидимое поле, но при вызове метода контроллера save почему то это значение не передается и программа видит 0. Ниже код контроллера и страницы html. Подскажите, что может быть. p.s. самое странное, что в другом проекте использовал то же самое и всё работало.
@GetMapping("new")
public String newPersonalAcc(Model model) {
model.addAttribute("personalAccount", new PersonalAccount());
return "editPersonalAccount";
}
@PostMapping("save")
public String saveAccount(@ModelAttribute PersonalAccount personalAccount) {
if (personalAccount != null) {
accountRepository.save(personalAccount);
}
return REDIRECT_TO_LIST;
}
@GetMapping("edit/{accountId}")
public String editPersonalAcc(Model model, @PathVariable long accountId) {
if (accountId > 0) {
Optional<PersonalAccount> personalacc = accountRepository.findById(accountId);
if (personalacc.isPresent()) {
// Такой объект есть
model.addAttribute("personalAccount", personalacc.get());
return "editPersonalAccount";
} else {
log.error("Не удалось найти лицевой счет с идентификатором {}", accountId);
}
}
return REDIRECT_TO_LIST;
}
Код страницы
<div class="main_workplace">
<form action="#" th:action="@{/personalacc/save}" th:object="${personalAccount}" method="post">
<div class="workplace_title">
<h2></h2>
</div>
<div class="item find_place">
<div class="find_label">
<table style="border-spacing: 10px;">
<input type="hidden" th:field="*{id}"/>
<tr>
<td><label for="number">Лицевой счет:</label></td>
<td><input id="number" type="text" class="find_input" th:field="*{number}" placeholder="Лицевой счет"/></td>
</tr>
<tr>
<td><label for="contract">№ договора:</label></td>
<td><input id="contract" type="text" class="find_input" th:field="*{contract}" placeholder="№ договора"/></td>
</tr>
<tr>
<td><label for="index">Индекс:</label></td>
<td><input id="index" type="text" class="find_input" th:field="*{index}" placeholder="Индекс"/></td>
</tr>
<tr>
<td><label for="city">Населённый пункт:</label></td>
<td><input id="city" type="text" class="find_input" th:field="*{city}" placeholder="Населённый пункт"/></td>
</tr>
<tr>
<td><label for="district">Район:</label></td>
<td><input id="district" class="find_input" type="text" th:field="*{district}" placeholder="Район"/></td>
</tr>
<tr>
<td><label for="street">Улица:</label></td>
<td><input id="street" class="find_input" type="text" th:field="*{street}" placeholder="Улица"/></td>
</tr>
<tr>
<td><label for="house">Номер дома:</label></td>
<td><input id="house" class="find_input" type="text" th:field="*{housenum}" placeholder="Дом"/></td>
</tr>
<tr>
<td><label for="flat">Квартира:</label></td>
<td><input id="flat" type="text" class="find_input" th:field="*{apartment}" placeholder="Квартира"/></td>
</tr>
<tr>
<td><label for="fullname">Ф.И.О.:</label></td>
<td><input id="fullname" class="find_input" type="text" th:field="*{name}" placeholder="Ф.И.О."/></td>
</tr>
<tr>
<td><label for="regcount">Кол-во зарегистрированных:</label></td>
<td><input id="regcount" type="text" class="find_input" th:field="*{regcount}" placeholder="Кол-во зарегистрированных"/></td>
</tr>
</table>
</div>
<input type="submit" class="button" value="Сохранить"/>
</div>
</form>
</div>