mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
* no effective code change: add missing @override in "io.ebean.*" package * no effective code change: add missing @override in "io.ebeaninternal.api.*" package * no effective code change: add missing @override in "io.ebeaninternal.server.*" package * no effective code change: add missing @override in "io.ebeaninternal.util.*" package * no effective code change: add missing @override in "io.ebeanservice.*" package * no effective code change: add missing @override in "src/test/java/"
51 lines
1.1 KiB
Java
51 lines
1.1 KiB
Java
package io.ebeaninternal.server.query;
|
|
|
|
import io.ebean.QueryIterator;
|
|
import io.ebeaninternal.server.core.OrmQueryRequest;
|
|
|
|
import javax.persistence.PersistenceException;
|
|
import java.sql.SQLException;
|
|
|
|
/**
|
|
* QueryIterator that does not require a buffer for secondary queries.
|
|
*/
|
|
class CQueryIteratorSimple<T> implements QueryIterator<T> {
|
|
|
|
private final CQuery<T> cquery;
|
|
|
|
private final OrmQueryRequest<T> request;
|
|
|
|
CQueryIteratorSimple(CQuery<T> cquery, OrmQueryRequest<T> request) {
|
|
this.cquery = cquery;
|
|
this.request = request;
|
|
}
|
|
|
|
@Override
|
|
public boolean hasNext() {
|
|
try {
|
|
request.flushPersistenceContextOnIterate();
|
|
return cquery.hasNext();
|
|
} catch (SQLException e) {
|
|
throw cquery.createPersistenceException(e);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
@SuppressWarnings("unchecked")
|
|
public T next() {
|
|
return (T) cquery.next();
|
|
}
|
|
|
|
@Override
|
|
public void close() {
|
|
cquery.updateExecutionStatistics();
|
|
cquery.close();
|
|
request.endTransIfRequired();
|
|
}
|
|
|
|
@Override
|
|
public void remove() {
|
|
throw new PersistenceException("Remove not allowed");
|
|
}
|
|
}
|