public SyntaxChecker checkScroll() { Session s = openSession(); s.beginTransaction(); Query query = s.createQuery( hql ); preparer.prepare( query ); query.scroll(); s.getTransaction().commit(); s.close(); return this; }
/** * Get a cursor over all of the results, with the forward-only flag set. * * @param fetchSize the fetch size to use retrieving the results * @param parameterValues the parameter values to use (or null if none). * * @return a forward-only {@link ScrollableResults} */ public ScrollableResults getForwardOnlyCursor(int fetchSize, Map<String, Object> parameterValues) { Query query = createQuery(); if (parameterValues != null) { query.setProperties(parameterValues); } return query.setFetchSize(fetchSize).scroll(ScrollMode.FORWARD_ONLY); }
Query query = s.createQuery("from DataPoint dp order by dp.x asc"); s.setDefaultReadOnly( true ); ScrollableResults sr = query.scroll(ScrollMode.FORWARD_ONLY); s.setDefaultReadOnly( false ); while ( sr.next() ) {
getSelectNewQuery( session ).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).scroll(); fail("'select new' together with a resulttransformer should result in error!");
s.setDefaultReadOnly( true ); assertTrue( s.isDefaultReadOnly() ); ScrollableResults sr = query.scroll(ScrollMode.FORWARD_ONLY); assertFalse( query.isReadOnly() ); DataPoint dpLast = ( DataPoint ) s.get( DataPoint.class, dp.getId() );
s.setDefaultReadOnly( false ); assertFalse( s.isDefaultReadOnly() ); ScrollableResults sr = query.scroll(ScrollMode.FORWARD_ONLY); assertFalse( s.isDefaultReadOnly() ); assertTrue( query.isReadOnly() );
.scroll(ScrollMode.FORWARD_ONLY);
Query query = s.createQuery("select f, f.integer from Foo f"); assertTrue( query.getReturnTypes().length==2 ); ScrollableResults iter = query.scroll(); assertTrue( iter.next() ); assertTrue( iter.scroll(1) ); query = s.createQuery("select f, f.integer from Foo f"); assertTrue( query.getReturnTypes().length==2 ); iter = query.scroll(); assertTrue( iter.next() ); assertTrue( iter.scroll(1) );
Query query = session.createQuery(query); query.setReadOnly(true); // MIN_VALUE gives hint to JDBC driver to stream results query.setFetchSize(Integer.MIN_VALUE); ScrollableResults results = query.scroll(ScrollMode.FORWARD_ONLY); // iterate over results while (results.next()) { Object row = results.get(); // process row then release reference // you may need to evict() as well } results.close();
@Override public ScrollableResults scroll() { return query.scroll(); }
/** * Construct a new HibernateQueryPager. * * @param query The Hibernate query. */ public HibernateQueryPager(final Query query) { this.query = query; final ScrollableResults scrollableResults = query.scroll(); scrollableResults.last(); this.numResults = scrollableResults.getRowNumber() + 1; }
private static int queryTatalCountByScrollableResults(Query query) { ScrollableResults scrollableResults = query.scroll(); scrollableResults.last(); return scrollableResults.getRowNumber() + 1; }
@Override public CloseableIterator<T> iterate() { try { Query query = createQuery(); ScrollableResults results = query.scroll(ScrollMode.FORWARD_ONLY); return new ScrollableResultsIterator<T>(results); } finally { reset(); } }
Query query = session.createQuery(query); query.setReadOnly(true); setFetchSize(Integer.MIN_VALUE); //MUST use Integer.MIN_VALUE, other value=fetch all ScrollableResults results = query.scroll(ScrollMode.FORWARD_ONLY); // iterate over results while (results.next()) { Object row = results.get(); } results.close();
Query query = session.createQuery(query); query.setReadOnly(true); // MIN_VALUE gives hint to JDBC driver to stream results query.setFetchSize(Integer.MIN_VALUE); ScrollableResults results = query.scroll(ScrollMode.FORWARD_ONLY); // iterate over results while (results.next()) { Object row = results.get(); // process row then release reference // you may need to evict() as well } results.close();
Query query = session.createQuery(query); query.setReadOnly(true); query.setFetchSize(Integer.MIN_VALUE); ScrollableResults results = query.scroll(ScrollMode.FORWARD_ONLY); // iterate over results while (results.next()) { Object row = results.get(); // process row then release reference // you may need to evict() as well } results.close();
Query query = session.createQuery(query); query.setReadOnly(true); query.setFetchSize(50); ScrollableResults results = query.scroll(ScrollMode.FORWARD_ONLY); // iterate over results while (results.next()) { Object row = results.get(); // process row then release reference // you may need to flush() as well } results.close();
@Test public void Scroll() throws IOException{ CloseableIterator<Cat> cats = new ScrollableResultsIterator<Cat>(query().from(cat) .createQuery(cat).scroll()); assertTrue(cats.hasNext()); while (cats.hasNext()) { assertNotNull(cats.next()); } cats.close(); }
@Test public void scroll() throws IOException { CloseableIterator<Cat> cats = new ScrollableResultsIterator<Cat>(query().from(cat) .select(cat).createQuery().scroll()); assertTrue(cats.hasNext()); while (cats.hasNext()) { assertNotNull(cats.next()); } cats.close(); }
@Test public void scrollTuple() throws IOException { CloseableIterator<Tuple> rows = new ScrollableResultsIterator<Tuple>(query() .from(cat) .select(cat.name, cat.birthdate).createQuery().scroll()); assertTrue(rows.hasNext()); while (rows.hasNext()) { Tuple row = rows.next(); assertEquals(2, row.size()); } rows.close(); }