gpt4 book ai didi

mysql - 如何在 MySQL 中为 case 语句编写 Criteria Builder

转载 作者:行者123 更新时间:2023-11-30 22:33:22 25 4
gpt4 key购买 nike

我有一个复杂的查询,我想使用 JPA Criteria Builder 为其构建查询

select i.* 
from items i
where category = ?
order by
(price >= ?) desc,
(case when price >= ? then price end) asc,
price desc limit 1;

我对 Criteria Builder 不是很熟悉,但有基本的知识。

提前致谢。

最佳答案

遗憾的是,JPA 目前不支持 ORDER BY 子句中的 case 表达式。

如果你看一下 CriteriaQuery.orderBy 的参数, 参数必须是 Order 类型而不是 Expression 类型。

或者,您可以将其作为 native SQL 查询执行,然后通过 @SqlResultSetMapping 将结果映射到实体。

关于mysql - 如何在 MySQL 中为 case 语句编写 Criteria Builder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33231904/

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