Hibernate 基準 API に問題があります。テーブルの行をオブジェクトとして取得したいが、返される結果の量を制限したい。コードは次のとおりです。
Criteria c = session.createCriteria(User.class);
c.setFirstResult(start);
c.setMaxResults(end-start);
c.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
List<User> test = c.list();
私の場合、最初の結果は 0 で、最大結果は 10 です。データベースには 3 人のユーザーがいます。問題は、データベースの最初の行だけが結果リストにあることです。resultTransformer を使用しない場合、最初の行はリストの 10 回 (maxResults) です。最大結果とresultTransformerを使用しない場合、最初の行は結果リストの約100回です。
特定のユーザーに制限を追加すると、結果リストには特定のユーザーが含まれるため、奇妙な状況のために最初の行だけが見つかったわけではないことは明らかです。
助けてください、私は無知です。