如何按字段排序 Jpa 存储库中的列表名称
How to Order By field List names in Jpa repository
我需要按 status
名称顺序订购我选择的商品。 (活跃 <- 不活跃)。
我正确地写了它的 SQL 查询如下。我需要将它转换成 jpa 存储库。请帮助我。
select * from device
where status in ('active', 'inactive')
order
by field(status,'active', 'inactive')
您将必须使用大小写表达式,即 case status when 'active' then 0 when 'inactive' then 1 else null end
。使用 JPA Criteria,这看起来大致像这样:
CriteriaBuilder.SimpleCase<String> caseExprssion = cb.selectCase(root.get("status"));
caseExprssion.when(cb.literal("active"), cb.literal(0));
caseExprssion.when(cb.literal("inactive"), cb.literal(1));
caseExprssion.otherwise(cb.nullLiteral(Integer.class));
criteriaQuery.orderBy(caseExpression);
我需要按 status
名称顺序订购我选择的商品。 (活跃 <- 不活跃)。
我正确地写了它的 SQL 查询如下。我需要将它转换成 jpa 存储库。请帮助我。
select * from device
where status in ('active', 'inactive')
order
by field(status,'active', 'inactive')
您将必须使用大小写表达式,即 case status when 'active' then 0 when 'inactive' then 1 else null end
。使用 JPA Criteria,这看起来大致像这样:
CriteriaBuilder.SimpleCase<String> caseExprssion = cb.selectCase(root.get("status"));
caseExprssion.when(cb.literal("active"), cb.literal(0));
caseExprssion.when(cb.literal("inactive"), cb.literal(1));
caseExprssion.otherwise(cb.nullLiteral(Integer.class));
criteriaQuery.orderBy(caseExpression);