Hibernate如何使用order by子句按字段的总和进行排序

时间:2013-11-02 12:50:48

标签: hibernate orm hql criteria criteria-api

如何使用order by子句按字段总和进行排序

实体:

    class MyClass {

        private int a;
        private int b;

        //...

    }

HQL正常工作:

“选择myclass FROM MyClass myclass ORDER BY myclass.a + myclass.b DESC”

如何使用Criteria API执行相同的操作?

1 个答案:

答案 0 :(得分:1)

正如您所说,您可以使用@Formula

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

之后,您可以按属性c进行排序,如

criteria.addOrder(Order.asc("c"));