私はこの単純なMySQLクエリを持っています:
SELECT * from foo ORDER BY (col1+col2+col3) DESC;
col1+col2+col3 の結果は整数です。
春に休止状態を使用して DetachedCriteria でこれを行う方法はありますか?
PS私はDetachedCriteriaにかなり慣れていません
ありがとう
私はこの単純なMySQLクエリを持っています:
SELECT * from foo ORDER BY (col1+col2+col3) DESC;
col1+col2+col3 の結果は整数です。
春に休止状態を使用して DetachedCriteria でこれを行う方法はありますか?
PS私はDetachedCriteriaにかなり慣れていません
ありがとう
はい、数式注釈を使用する方法があります。アノテーションはFooクラスに配置されます。式の注釈は、オブジェクトのプロパティ名ではなく、SQLの列名を受け入れることに注意してください。
@Formula("col1+col2+col3")
private int calculatedValue;
public int getCalculatedValue() {
return calculatedValue;
}
public void setCalculatedValue(int calculatedValue) {
this.calculatedValue = calculatedValue;
}
デタッチされたクエリは、次のようになります。
DetachedCriteria query = DetachedCriteria.forClass(Foo.class);
query.addOrder(Order.desc("calculatedValue"));
List<Foo> results = query.getExecutableCriteria(session).setMaxResults(100).list();