データベースから取得する結果の数をどのように制限できますか?
select e from Entity e /* I need only 10 results for instance */
このようにして、10個の結果を明示的に取得することができます。
entityManager.createQuery(JPQL_QUERY)
.setParameter(arg0, arg1)
.setMaxResults(10)
.getResultList();
バックエンドがサポートしている場合は、バックエンドでネイティブクエリを自動的に作成して特定の数の結果を取得し、それ以外の場合はすべての結果を取得した後にメモリの制限を行います。
SetFirstResult()を使用してオフセットを設定することもできます
em.createNamedQuery("Entity.list")
.setFirstResult(startPosition)
.setMaxResults(length);