「Players」と「Items」の2つのテーブルがあります。プレイヤーはアイテムのリストを持っています。ページネーションを使用して、プレーヤーとそのすべてのアイテムを取得したいと思います。アイテムの数に関係なく、プレーヤーに基づいてページ付けしたいと思います。
だから私はこのようなことをします:
Criteria c = session.createCriteria(Players.class).setFetchMode("items", FetchMode.JOIN);
c.addOrder(Order.asc("playerID"));
c.setFirstResult(0);
c.setMaxResults(25);
List<Player> players = c.list();
これで最初の25人のプレーヤーが得られますか、それとも最初の25個のアイテム(プレーヤーごとにグループ化されたもの)が得られますか?この動作がJPAクエリの場合のように未定義なのか、それとも確実な答えがあるのだろうかと思います。
とにかく、最初の25人のプレーヤーまたは最初の25人のプレーヤーとアイテムの組み合わせ(プレーヤーID、次にアイテムIDの順に)を取得する基準クエリとは何ですか?