Frage

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?

War es hilfreich?

Lösung

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"));
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top