エンティティ更新のための残りのようなメソッドを書きたいです。この場合、url からエンティティ ID を取得し、リクエスト本文からデータを取得します。問題は、ID と Bean のバインドにあります。EntityManager も Spring-Data Crud Repo もupdate(id, bean)
メソッドを持っていないためです。自分で設定できるので
@RequestMapping(value = "/{id}", method = RequestMethod.POST)
public String update(@PathVariable("id") Long id, @Valid User user, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
user.setId(id); //Very bad
return "usersEdit";
}
user.setId(id); //Bad
repository.save(user);
return "redirect:/users/" + id;
}
またはDRYを却下し、idをプライベートフィールドとしてフォームに入れます。他の解決策はありますか?