@@ -193,6 +193,28 @@ public void createsQueryToFindAllEntitiesByIntegerAttributeGreaterThanEqual() th
193
193
assertThat (bindableQuery .get ()).isEqualTo (expectedSql );
194
194
}
195
195
196
+ @ Test
197
+ public void createsQueryToFindAllEntitiesByDateAttributeAfter () throws Exception {
198
+ R2dbcQueryMethod queryMethod = getQueryMethod ("findAllByDateOfBirthAfter" , Date .class );
199
+ PartTreeR2dbcQuery r2dbcQuery = new PartTreeR2dbcQuery (queryMethod , databaseClient , r2dbcConverter ,
200
+ dataAccessStrategy );
201
+ RelationalParametersParameterAccessor accessor = getAccessor (queryMethod , new Object []{new Date ()});
202
+ BindableQuery bindableQuery = r2dbcQuery .createQuery (accessor );
203
+ String expectedSql = "SELECT " + ALL_FIELDS + " FROM " + TABLE + " WHERE " + TABLE + ".date_of_birth > ?" ;
204
+ assertThat (bindableQuery .get ()).isEqualTo (expectedSql );
205
+ }
206
+
207
+ @ Test
208
+ public void createsQueryToFindAllEntitiesByDateAttributeBefore () throws Exception {
209
+ R2dbcQueryMethod queryMethod = getQueryMethod ("findAllByDateOfBirthBefore" , Date .class );
210
+ PartTreeR2dbcQuery r2dbcQuery = new PartTreeR2dbcQuery (queryMethod , databaseClient , r2dbcConverter ,
211
+ dataAccessStrategy );
212
+ RelationalParametersParameterAccessor accessor = getAccessor (queryMethod , new Object []{new Date ()});
213
+ BindableQuery bindableQuery = r2dbcQuery .createQuery (accessor );
214
+ String expectedSql = "SELECT " + ALL_FIELDS + " FROM " + TABLE + " WHERE " + TABLE + ".date_of_birth < ?" ;
215
+ assertThat (bindableQuery .get ()).isEqualTo (expectedSql );
216
+ }
217
+
196
218
private R2dbcQueryMethod getQueryMethod (String methodName , Class <?>... parameterTypes ) throws Exception {
197
219
Method method = UserRepository .class .getMethod (methodName , parameterTypes );
198
220
return new R2dbcQueryMethod (method , new DefaultRepositoryMetadata (UserRepository .class ),
@@ -221,6 +243,10 @@ private interface UserRepository extends Repository<User, Long> {
221
243
Flux <User > findAllByAgeGreaterThan (Integer age );
222
244
223
245
Flux <User > findAllByAgeGreaterThanEqual (Integer age );
246
+
247
+ Flux <User > findAllByDateOfBirthAfter (Date date );
248
+
249
+ Flux <User > findAllByDateOfBirthBefore (Date date );
224
250
}
225
251
226
252
@ Table ("users" )
0 commit comments