@Test @SuppressWarnings("unchecked") public void testStatefulClose(){ SessionFactory sessionFactory = mock(SessionFactory.class); Session session = mock(Session.class); Query<Foo> scrollableResults = mock(Query.class); HibernateCursorItemReader<Foo> itemReader = new HibernateCursorItemReader<>(); itemReader.setSessionFactory(sessionFactory); itemReader.setQueryString("testQuery"); itemReader.setUseStatelessSession(false); when(sessionFactory.openSession()).thenReturn(session); when(session.createQuery("testQuery")).thenReturn(scrollableResults); when(scrollableResults.setFetchSize(0)).thenReturn(scrollableResults); itemReader.open(new ExecutionContext()); itemReader.close(); }
@Test @TestForIssue(jiraKey = "HHH-10860") public void testScrollableResults() { final List params = new ArrayList(); params.add( 1L ); params.add( 2L ); try (Session s = openSession()) { final Query query = s.createQuery( "from MyEntity e where e.id in (:ids)" ) .setParameter( "ids", params ) .setFetchSize( 10 ); try (ScrollableResults scroll = query.scroll( ScrollMode.FORWARD_ONLY )) { int i = 0; while ( scroll.next() ) { if ( i == 0 ) { assertThat( ((MyEntity) scroll.get()[0]).getDescription(), is( "entity_1" ) ); } else { assertThat( ((MyEntity) scroll.get()[0]).getDescription(), is( "entity_2" ) ); } i++; } } } }
@Test @TestForIssue(jiraKey = "HHH-10860") public void testScrollableResults2() { final List params = new ArrayList(); params.add( 1L ); params.add( 2L ); try (Session s = openSession()) { final Query query = s.createQuery( "from MyEntity e where e.id in (:ids)" ) .setParameter( "ids", params ) .setFetchSize( 10 ); try (ScrollableResults scroll = query.scroll( )) { int i = 0; while ( scroll.next() ) { if ( i == 0 ) { assertThat( ((MyEntity) scroll.get()[0]).getDescription(), is( "entity_1" ) ); } else { assertThat( ((MyEntity) scroll.get()[0]).getDescription(), is( "entity_2" ) ); } i++; } } } }
protected void initQueryFromNamedDefinition(Query query, NamedQueryDefinition nqd) { // todo : cacheable and readonly should be Boolean rather than boolean... query.setCacheable( nqd.isCacheable() ); query.setCacheRegion( nqd.getCacheRegion() ); query.setReadOnly( nqd.isReadOnly() ); if ( nqd.getTimeout() != null ) { query.setTimeout( nqd.getTimeout() ); } if ( nqd.getFetchSize() != null ) { query.setFetchSize( nqd.getFetchSize() ); } if ( nqd.getCacheMode() != null ) { query.setCacheMode( nqd.getCacheMode() ); } if ( nqd.getComment() != null ) { query.setComment( nqd.getComment() ); } if ( nqd.getFirstResult() != null ) { query.setFirstResult( nqd.getFirstResult() ); } if ( nqd.getMaxResults() != null ) { query.setMaxResults( nqd.getMaxResults() ); } if ( nqd.getFlushMode() != null ) { query.setHibernateFlushMode( nqd.getFlushMode() ); } }
hibernateQuery.setFetchSize(myFetchSize); ScrollableResults scroll = hibernateQuery.scroll(ScrollMode.FORWARD_ONLY); myResultsIterator = new ScrollableResultsIterator<>(scroll);
hibernateQuery.setFetchSize(myFetchSize); ScrollableResults scrollableResults = hibernateQuery.scroll(ScrollMode.FORWARD_ONLY); Iterator<TermConceptMapGroupElementTarget> scrollableResultsIterator = new ScrollableResultsIterator<>(scrollableResults);
hibernateQuery.setFetchSize(myFetchSize); ScrollableResults scrollableResults = hibernateQuery.scroll(ScrollMode.FORWARD_ONLY); Iterator<TermConceptMapGroupElement> scrollableResultsIterator = new ScrollableResultsIterator<>(scrollableResults);
@Override public Query setFetchSize(final int fetchSize) { if (queryV2ForCompare != null) { queryV2ForCompare.setFetchSize(fetchSize); } query.setFetchSize(fetchSize); return this; }
.setFirstResult(dataOffset) .setMaxResults(maxBufferSize) .setFetchSize(maxBufferSize) .list(); session.getTransaction().commit();
hibernateQuery.setFetchSize(myFetchSize); ScrollableResults scroll = hibernateQuery.scroll(ScrollMode.FORWARD_ONLY); myResultsIterator = new ScrollableResultsIterator<>(scroll);
hibernateQuery.setFetchSize(myFetchSize); ScrollableResults scrollableResults = hibernateQuery.scroll(ScrollMode.FORWARD_ONLY); Iterator<TermConceptMapGroupElement> scrollableResultsIterator = new ScrollableResultsIterator<>(scrollableResults);
hibernateQuery.setFetchSize(myFetchSize); ScrollableResults scrollableResults = hibernateQuery.scroll(ScrollMode.FORWARD_ONLY); Iterator<TermConceptMapGroupElementTarget> scrollableResultsIterator = new ScrollableResultsIterator<>(scrollableResults);
.setHibernateFlushMode( FlushMode.MANUAL ) .setCacheMode( cacheMode ) .setFetchSize( entityFetchSize )