Querydsl java自定义输入列表的顺序

时间:2017-04-11 22:01:13

标签: java sql oracle hibernate querydsl

如何按where clause IN values中提供的自定义输入列表对结果集进行排序。

下面是我在SQL中查询oracle:

SELECT col1, col2, avg(col3)
FROM   table1
WHERE  table1.col1 IN (12340417, 12340418, 12340419, 12340420)
GROUP  BY col2, col1
ORDER  BY col2, instr('12340417, 12340418, 12340419, 12340420', col1) ;

所以,基本上我正在寻找替换querydsl上面的instr表达式(表达式传递给OrderSpecifier),例如:

new OrderSpecifier(this.sortOrder, expression)

有没有其他方法可以按(12340417, 12340418, 12340419, 12340420)中的自定义列表querydsl对结果集进行排序?

1 个答案:

答案 0 :(得分:0)

如果在标准SQL中执行此操作,则可以使用CASE表达式:

static void imx_shutdown(struct uart_port *port)
{
    struct imx_port *sport = (struct imx_port *)port;
    unsigned long temp;
    unsigned long flags;
    gpio_free(140);