Pregunta

How to use order by clause for sort by sum of field

Entity:

    class MyClass {

        private int a;
        private int b;

        //...

    }

HQL works correctly:

"SELECT myclass FROM MyClass myclass ORDER BY myclass.a + myclass.b DESC "

How to do the same thing using Criteria API?

¿Fue útil?

Solución

As you said you could use @Formula

@Column(name="column_a")
private Integer a;
@Column(name="column_b")
private Integer b;
@Formula("(column_a+column_b)")
private Integer c;

After that you can sort by property c like

criteria.addOrder(Order.asc("c"));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top