@@ -102,7 +102,7 @@ public SelectionBuilder slice(RelationalPersistentEntity<?> entity) {
102102 }
103103
104104 public SelectionBuilder scroll (RelationalPersistentEntity <?> entity ) {
105- return new SelectionBuilder (entity , SelectionBuilder .Mode .SELECT );
105+ return new SelectionBuilder (entity , SelectionBuilder .Mode .SCROLL );
106106 }
107107
108108 public class SelectionBuilder {
@@ -117,7 +117,7 @@ public class SelectionBuilder {
117117 private Sort sort = Sort .unsorted ();
118118 private Criteria criteria = Criteria .empty ();
119119 private List <String > properties = new ArrayList <>();
120- private ScrollPosition scrollPosition ;
120+ private @ Nullable ScrollPosition scrollPosition ;
121121
122122 private SelectionBuilder (RelationalPersistentEntity <?> entity , Mode mode ) {
123123 this .entity = entity ;
@@ -256,10 +256,9 @@ SelectBuilder.SelectWhere applyLimitAndOffset(SelectBuilder.SelectLimitOffset li
256256 .offset (pageable .getOffset ());
257257 }
258258
259- if (scrollPosition != null && scrollPosition instanceof OffsetScrollPosition && !scrollPosition .isInitial ()) {
259+ if (mode == Mode . SCROLL && scrollPosition != null && scrollPosition instanceof OffsetScrollPosition && !scrollPosition .isInitial ())
260260 limitOffsetBuilder = limitOffsetBuilder
261261 .offset (((OffsetScrollPosition ) scrollPosition ).getOffset () + 1 );
262- }
263262
264263 return (SelectBuilder .SelectWhere ) limitOffsetBuilder ;
265264 }
@@ -297,7 +296,7 @@ private SelectBuilder.SelectJoin selectBuilder(Table table) {
297296 }
298297
299298 enum Mode {
300- COUNT , EXISTS , SELECT , SLICE
299+ COUNT , EXISTS , SELECT , SLICE , SCROLL
301300 }
302301
303302 }
0 commit comments