如果你的角色是静态的(很少改变),那么你可以通过为他们创建一个enum(Create Emun and Alter Type enum)来完成。(参见demo)
create type role_enum as enum ('collaborator', 'lead', 'participant', 'viewer');
create table test ( id integer generated always as identity
primary key
, name text
, role role_enum
) ;
public List<ConcoursAdministratifRe> getListByRole() {
String queryRecherche = "SELECT t FROM YourEntityName t ORDER BY (CASE role WHEN 'viewer' THEN 1 WHEN 'participant' THEN 2 WHEN 'lead' THEN 3 WHEN 'collaborator' THEN 4 ELSE 5 END) ASC";
TypedQuery<YourEntityName > query = em.createQuery(queryRecherche, YourEntityName.class);
List<YourEntityName> myList = query.getResultList();
return myList;
3条答案
按热度按时间0pizxfdo1#
如果你的角色是静态的(很少改变),那么你可以通过为他们创建一个
enum
(Create Emun and Alter Type enum)来完成。(参见demo)我不知道如何在你的obscurification管理器(Sping Boot )中完成这一点,所以你必须翻译它或使用原始sql。
flvlnr442#
您必须在服务中创建此方法:
neskvpey3#
我通过指定顺序来实现这一点