@@ -149,6 +149,12 @@ interface MovieRepository extends Neo4jRepository<Movie, String> {
149
149
MovieWithSequelProjection findProjectionByTitleAndDescription (String title , String description );
150
150
151
151
MovieWithSequelEntity findByTitleAndDescription (String title , String description );
152
+
153
+ @ Query ("MATCH (m:Movie{title:'The Matrix'})<-[a:ACTED_IN]-(p:Person) WITH a,p,m order by p.name return m, collect(a), collect(p)" )
154
+ Movie findMatrixWithSortedAscActors ();
155
+
156
+ @ Query ("MATCH (m:Movie{title:'The Matrix'})<-[a:ACTED_IN]-(p:Person) WITH a,p,m order by p.name DESC return m, collect(a), collect(p)" )
157
+ Movie findMatrixWithSortedDescActors ();
152
158
}
153
159
154
160
@ Test // GH-1906
@@ -457,6 +463,19 @@ void projectDirectCycleEntityReference(@Autowired MovieRepository movieRepositor
457
463
assertThat (secondSequel .getActors ()).isNotEmpty ();
458
464
}
459
465
466
+ @ Test // GH-2458
467
+ void findPreservesOrderFromResultAscInRelationshipList (@ Autowired MovieRepository repository ) {
468
+ assertThat (repository .findMatrixWithSortedAscActors ().getActors ()).extracting ("person" ).extracting ("name" )
469
+ .containsExactly ("Carrie-Anne Moss" , "Emil Eifrem" , "Gloria Foster" , "Hugo Weaving" , "Keanu Reeves" ,
470
+ "Laurence Fishburne" );
471
+ }
472
+ @ Test // GH-2458
473
+ void findPreservesOrderFromResultDescInRelationshipList (@ Autowired MovieRepository repository ) {
474
+ assertThat (repository .findMatrixWithSortedDescActors ().getActors ()).extracting ("person" ).extracting ("name" )
475
+ .containsExactly ("Laurence Fishburne" , "Keanu Reeves" , "Hugo Weaving" , "Gloria Foster" , "Emil Eifrem" ,
476
+ "Carrie-Anne Moss" );
477
+ }
478
+
460
479
@ Configuration
461
480
@ EnableTransactionManagement
462
481
@ EnableNeo4jRepositories (considerNestedRepositories = true )
0 commit comments