All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.avaje.ebean.QueryIterator Maven / Gradle / Ivy

package com.avaje.ebean;

import java.util.Iterator;

/**
 * Used to provide iteration over query results.
 * 

* This can be used when you want to process a very large number of results and * means that you don't have to hold all the results in memory at once (unlike * findList(), findSet() etc where all the beans are held in the List or Set * etc). *

*

* Note that findIterate (and findEach and findEachWhile) uses a "per graph" * persistence context scope and adjusts jdbc fetch buffer size for large * queries. As such it is better to use findList for small queries. *

*

* Remember that with {@link QueryIterator} you must call {@link QueryIterator#close()} * when you have finished iterating the results (typically in a finally block). *

* *
{@code
 * 
 *  Query query = server.find(Customer.class)
 *     .where().gt("id", 0)
 *     .orderBy("id")
 *     .setMaxRows(2);
 *
 *  QueryIterator it = query.findIterate();
 *  try {
 *    while (it.hasNext()) {
 *      Customer customer = it.next();
 *      // do something with customer ...
 *    }
 *  } finally {
 *    // close the underlying resources
 *    it.close();
 *  }
 *
 * }
* * @param * the type of entity bean in the iteration */ public interface QueryIterator extends Iterator, java.io.Closeable { /** * Returns true if the iteration has more elements. */ boolean hasNext(); /** * Returns the next element in the iteration. */ T next(); /** * Remove is not allowed. */ void remove(); /** * Close the underlying resources held by this iterator. */ void close(); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy