私は持っている:
class Candidate {
private String name;
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinTable(name = "candidate_vacancy", joinColumns = @JoinColumn(name = "candidate_id"), inverseJoinColumns = @JoinColumn(name = "vacancy_id"))
List<Vacancy> list;
//get and set methods
}
HTML形式で私は書きます:
<form action="saveCandidate">
name: <input type="text" value="${candidate.name}" name="name" />
type="submit" value="save changes" />
@Controller で、次のコードを記述します。
@RequestMapping("/saveCandidate")
public String saveCandidate(Model model, @ModelAttribute Candidate candidate) {
candidateService.update(candidate);
return "candidateMenu";
}
しかし、Candidate オブジェクトを更新すると、データベースで適切な欠員が null になります。
私は手動で db から欠員をロードし、それを候補に添付して更新できると思いますが、もっと正しい方法だと思います!