2
我使用Hibernate的@OrderColumn
注释在我的数据库中排序。它正确地生成数据库表中的列以存储索引,并且还最初存储正确的索引。Hibernate OrderColumn with Spring Roo
但是,当我试图改变在列表中的排序,然后使用Spring Roo的merge()
方法来更新数据库,顺序不会改变。
这里是我的实体代码:
@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
功能的更新方法:
@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);
}
我已经使用了story
对象具有更新索引调试检查slides
列表。