フィールドを任意にソートする最良の方法は何ですか?Hibernate、Criteria API、Enumフィールドを任意にソート
例:
各Content
がStatus
を持っています。 Status
のid
は列挙型です。ビジネスはContent
のリストをStatus.Id.REJECTED
、Status.Id.IN_WORK
、次にStatus.Id.PENDING
の順にソートしたいと考えています。
ご覧のとおり、アルファベット順に並べ替えられていません。誰かが自分の考えを変えて、それを別の方法で並べ替えたい、あるいはもっとステータスを入れたいと思うかもしれません。
この状況を処理する最善の方法は何ですか?私が思いつくことができる唯一の解決策は、order
をStatus
に追加するか、それぞれStatus
を別々にクエリし、それをプログラム的につなぎ合わせることです。しかし、それは汚れているようです。
私はこの前提でいくつかの継承不合理があることを理解しますが、それは私のものではなく、私はそれを支配しません。どんな助けでも大歓迎です。
「注文」列の外では、コードを変更して再デプロイする必要があります。 HQLでこれを効果的に行うためのリンク/リファレンスはありますか? –
私はHQLがケースをサポートしていると思います。簡単なクエリを試してみてください。 – ssedano