( Hibernate と JPA2 Criteria Builder を使用して) エンティティ メンバーではなくメソッドの結果で注文することは可能ですか?
public class X {
protected X() {}
public String member;
public String getEvaluatedValue() { // order by
return "a status calculated with various members";
}
}
私が達成したいのは、の結果による順序ですgetEvaluatedValue()
。それは可能ですか?
@Formular は使っていませんが、
EntityManager em = ...;
QueryBuilder builder = em.getQueryBuilder();
SomeQueryClass query = builder.createQuery(MyTargetClass.class);
query.orderBy(builder.asc(... some code...));
私はプレーンな JPA2 ですが、確かに動的データで注文する機会はありません。しかし、if-else などのステートメント (QueryBuilder で定義) を使用して order-by ブロックを指定することは許されるかもしれませんね。