gpt4 book ai didi

Hibernate、Criteria API、任意排序枚举字段

转载 作者:行者123 更新时间:2023-12-04 06:04:11 25 4
gpt4 key购买 nike

任意排序字段的最佳方法是什么?

例子:

每个Content有一个 Status . Statusid是一个枚举。业务要查看Content的列表按顺序排序 Status.Id.REJECTED , Status.Id.IN_WORK然后 Status.Id.PENDING .

如您所见,它不是按字母顺序排序的。并且有人可能会改变主意并希望以不同的方式对其进行排序或加入更多状态。

处理这种情况的最佳方法是什么?我能想出的唯一解决方案是添加 orderStatus或分别查询Status然后以编程方式将其拼接在一起。但这似乎很脏。

我知道这个前提有些荒谬,但这不是我的,我无法控制它。任何帮助是极大的赞赏。

最佳答案

最后我找到了最干净的方法是添加一个 int status.order然后按该列对状态进行排序。这为我提供了:

  • 仅使用 Criteria API 的能力
  • 更干净的代码,不用担心数据层排序背后的商业原因
  • 通过更改数据库中的值来即时更改排序的能力。

  • 最后一点最终成为我真正的卖家,因为业务方有一个习惯,即不完整地考虑他们的需求,并且需要在开发过程中和发布后多次更改它们。

    关于Hibernate、Criteria API、任意排序枚举字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8577193/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com