@@ -1465,8 +1465,8 @@ void queryByByteArray() {
14651465
14661466 @ Test
14671467 void queryByWindowOffset () {
1468- DummyEntity one = repository .save (createEntity ("one" ));
1469- DummyEntity two = repository .save (createEntity ("two" ));
1468+ repository .save (createEntity ("one" ));
1469+ repository .save (createEntity ("two" ));
14701470 DummyEntity three = repository .save (createEntity ("three" ));
14711471
14721472 WindowIterator <DummyEntity > iter = WindowIterator .of (position -> repository .findFirst2ByOrderByIdPropAsc (position ))
@@ -1481,8 +1481,8 @@ void queryByWindowOffset() {
14811481
14821482 @ Test
14831483 void queryByWindowKeyset () {
1484- DummyEntity one = repository .save (createEntity ("one" ));
1485- DummyEntity two = repository .save (createEntity ("two" ));
1484+ repository .save (createEntity ("one" ));
1485+ repository .save (createEntity ("two" ));
14861486 DummyEntity three = repository .save (createEntity ("three" ));
14871487
14881488 WindowIterator <DummyEntity > iter = WindowIterator .of (position -> repository .findFirst2ByOrderByIdPropAsc (position ))
@@ -1498,8 +1498,8 @@ void queryByWindowKeyset() {
14981498 @ Test
14991499 void queryByWindowKeySetDesc () {
15001500 DummyEntity one = repository .save (createEntity ("one" ));
1501- DummyEntity two = repository .save (createEntity ("two" ));
1502- DummyEntity three = repository .save (createEntity ("three" ));
1501+ repository .save (createEntity ("two" ));
1502+ repository .save (createEntity ("three" ));
15031503
15041504 WindowIterator <DummyEntity > iter = WindowIterator .of (position -> repository .findFirst2ByOrderByIdPropDesc (position ))
15051505 .startingAt (ScrollPosition .keyset ());
@@ -1513,10 +1513,10 @@ void queryByWindowKeySetDesc() {
15131513
15141514 @ Test
15151515 void queryByWindowKeySetDescBackward () {
1516- DummyEntity one = repository .save (createEntity ("one" ));
1517- DummyEntity two = repository .save (createEntity ("two" ));
1518- DummyEntity three = repository .save (createEntity ("three" ));
1519- DummyEntity four = repository .save (createEntity ("four" ));
1516+ repository .save (createEntity ("one" ));
1517+ repository .save (createEntity ("two" ));
1518+ repository .save (createEntity ("three" ));
1519+ repository .save (createEntity ("four" ));
15201520 DummyEntity five = repository .save (createEntity ("five" ));
15211521
15221522 WindowIterator <DummyEntity > iter = WindowIterator .of (position -> repository .findFirst2ByOrderByIdPropDesc (position ))
@@ -1532,10 +1532,10 @@ void queryByWindowKeySetDescBackward() {
15321532 @ Test
15331533 void queryByWindowKeySetAscBackward () {
15341534 DummyEntity one = repository .save (createEntity ("one" ));
1535- DummyEntity two = repository .save (createEntity ("two" ));
1536- DummyEntity three = repository .save (createEntity ("three" ));
1537- DummyEntity four = repository .save (createEntity ("four" ));
1538- DummyEntity five = repository .save (createEntity ("five" ));
1535+ repository .save (createEntity ("two" ));
1536+ repository .save (createEntity ("three" ));
1537+ repository .save (createEntity ("four" ));
1538+ repository .save (createEntity ("five" ));
15391539
15401540 WindowIterator <DummyEntity > iter = WindowIterator .of (position -> repository .findFirst2ByOrderByIdPropAsc (position ))
15411541 .startingAt (ScrollPosition .backward (Map .of ("idProp" , 5 )));
@@ -1561,10 +1561,10 @@ void queryByWindowKeySetEmptyDb() {
15611561
15621562 @ Test
15631563 void queryByWindowKeySetTwoKeys () {
1564- DummyEntity one = repository .save (createEntity ("one" , it -> it .setPointInTime (Instant .ofEpochSecond (1000 ))));
1565- DummyEntity two = repository .save (createEntity ("two" , it -> it .setPointInTime (Instant .ofEpochSecond (2000 ))));
1566- DummyEntity three = repository .save (createEntity ("three" , it -> it .setPointInTime (Instant .ofEpochSecond (3000 ))));
1567- DummyEntity four = repository .save (createEntity ("four" , it -> it .setPointInTime (Instant .ofEpochSecond (4000 ))));
1564+ repository .save (createEntity ("one" , it -> it .setPointInTime (Instant .ofEpochSecond (1000 ))));
1565+ repository .save (createEntity ("two" , it -> it .setPointInTime (Instant .ofEpochSecond (2000 ))));
1566+ repository .save (createEntity ("three" , it -> it .setPointInTime (Instant .ofEpochSecond (3000 ))));
1567+ repository .save (createEntity ("four" , it -> it .setPointInTime (Instant .ofEpochSecond (4000 ))));
15681568 DummyEntity five = repository .save (createEntity ("five" , it -> it .setPointInTime (Instant .ofEpochSecond (5000 ))));
15691569
15701570 WindowIterator <DummyEntity > iter = WindowIterator .of (position -> repository .findFirst2ByOrderByIdPropAsc (position ))
@@ -1579,9 +1579,9 @@ void queryByWindowKeySetTwoKeys() {
15791579
15801580 @ Test
15811581 void queryByWindowOffsetPosition () {
1582- DummyEntity one = repository .save (createEntity ("one" , it -> it .setPointInTime (Instant .ofEpochSecond (1000 ))));
1583- DummyEntity two = repository .save (createEntity ("two" , it -> it .setPointInTime (Instant .ofEpochSecond (2000 ))));
1584- DummyEntity three = repository .save (createEntity ("three" , it -> it .setPointInTime (Instant .ofEpochSecond (3000 ))));
1582+ repository .save (createEntity ("one" , it -> it .setPointInTime (Instant .ofEpochSecond (1000 ))));
1583+ repository .save (createEntity ("two" , it -> it .setPointInTime (Instant .ofEpochSecond (2000 ))));
1584+ repository .save (createEntity ("three" , it -> it .setPointInTime (Instant .ofEpochSecond (3000 ))));
15851585
15861586 Window <DummyEntity > result = repository .findFirst2ByOrderByIdPropAsc (ScrollPosition .offset ());
15871587 assertSoftly (softAssertions -> {
@@ -1594,6 +1594,28 @@ void queryByWindowOffsetPosition() {
15941594 });
15951595 }
15961596
1597+ @ Test
1598+ void queryByWindowKeysetPosition () {
1599+ repository .save (createEntity ("one" , it -> it .setPointInTime (Instant .ofEpochSecond (1000 ))));
1600+ repository .save (createEntity ("two" , it -> it .setPointInTime (Instant .ofEpochSecond (2000 ))));
1601+ repository .save (createEntity ("three" , it -> it .setPointInTime (Instant .ofEpochSecond (3000 ))));
1602+
1603+ Window <DummyEntity > result = repository .findFirst2ByOrderByIdPropAsc (ScrollPosition .keyset ());
1604+ assertSoftly (softAssertions -> {
1605+ softAssertions .assertThat (result .hasNext ()).isTrue ();
1606+ softAssertions .assertThat (result .size ()).isEqualTo (2 );
1607+
1608+ ScrollPosition position = result .positionAt (0 );
1609+ softAssertions .assertThat (position .isInitial ()).isFalse ();
1610+
1611+ Map <String , Object > keys = ((KeysetScrollPosition ) position ).getKeys ();
1612+ softAssertions .assertThat (keys .containsKey ("idProp" )).isTrue ();
1613+
1614+ Long idProp = (Long ) keys .get ("idProp" );
1615+ softAssertions .assertThat (idProp ).isEqualTo (2 );
1616+ });
1617+ }
1618+
15971619 private Root createRoot (String namePrefix ) {
15981620
15991621 return new Root (null , namePrefix ,
0 commit comments