データベースからHibernate経由で具体的な順序でオブジェクトを取得したいと思います。この順序は次のようなものです。
first_column
最初に、たとえばnullではないというタイトルの列を持つオブジェクトを取得したいと思います。
second_column
2番目として、列がnullではないオブジェクトを取得したいのですが、
最後に、別のオブジェクト/テーブルのIDであるオブジェクトを取得したいと思いthird_column
ます。この別のオブジェクトには、具体的な値を持つフィールドがあります。例:"something"
。
私はこの方法で基準を作成しました:
criteria.addOrder(Order.asc("firstColumn"));
criteria.addOrder(Order.asc("secondColumn"));
しかし、どうすれば最後の要件を満たすことができますか?制限付きで、私はそのようなことをすることができます:
criteria.createAlias("thirdColumn", "t");
criteria.add(Restrictions.eq("t.field", "something"));
ただし、フロントエンドでページネーションを実装するためにもとを使用しているため、3つの別々のCriteria
結果で制限ではなく順序を使用する必要があります。setFirstResult()
setMaxResults()
Criteria