Domanda

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?

È stato utile?

Soluzione

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"));
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top