繁体   English   中英

实现“可重新定位”实体的最佳方式

[英]Best way to implement an “reorderable” Entity

我有一个实体列表或多或少作为列表显示给用户。 现在,用户不仅可以添加或删除实体,还可以对现有实体进行重新排序(典型的“上行”,“下行”,“转到顶部”,“转到底部”操作)。

但是实现这种行为的最佳方法是什么? 当然,我可以在服务层“手动”编写所有需要的操作,但这个功能似乎是一个常见的要求,所以可能已经有某种标准的解决方案?

最合适的双向集合,是一个有序的列表

@OneToMany(cascade = CascadeType.ALL, mappedBy = "parent", orphanRemoval = true)
@OrderColumn("order_id")
private List<Child> children = new ArrayList<>();

order_id列将用于在检索时对元素进行排序,当您更改元素顺序时,Hibernate将根据当前元素索引发出相应的更新以设置order_id列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM