私はHibernateの@OrderColumn
注釈を使用してデータベース内のリストを注文しています。インデックスを格納するデータベーステーブルの列を正しく生成し、正しいインデックスを最初に格納します。Spring RooでHibernate OrderColumn
しかし、リストの順序を変更してから、Spring Rooのmerge()
メソッドを使用してデータベースを更新しようとすると、順序は変更されません。ここで
は私のエンティティのためのコードです:私はstory
オブジェクトがで更新インデックスを持つデバッグを使用してチェックしている
@RequestMapping(method = RequestMethod.PUT)
public String StoryController.update(@Valid Story story, BindingResult bindingResult, Model uiModel, HttpServletRequest httpServletRequest) {
if (bindingResult.hasErrors()) {
uiModel.addAttribute("story", story);
return "storys/update";
}
uiModel.asMap().clear();
story.merge();
return "redirect:/storys/" + encodeUrlPathSegment(story.getId().toString(), httpServletRequest);
}
:ここ
@RooJavaBean
@RooToString
@RooEntity
public class Story {
@ManyToMany(cascade = CascadeType.ALL)
@OrderColumn
private List<Slide> slides = new ArrayList<Slide>();
@ManyToOne
private Question question;
private String title;
}
はmerge
関数を呼び出す更新方法でありますslides
リスト