@@ -345,6 +345,22 @@ public class UserRepositoryIntegrationTests {
345345 }
346346}
347347```
348+ QueryObject ` UserQuery `
349+ ``` java
350+ @Data
351+ @IncludeFields (" emailAddress" )
352+ public class UserQuery {
353+ @ExprParam (expr = ExprType . CONTAINS )
354+ private String emailAddress;
355+
356+ @ExprParam (name = " age" , expr = ExprType . GE )
357+ private int ageStart;
358+
359+ @ExprParam (name = " age" , expr = ExprType . LE )
360+ private int ageEnd;
361+ }
362+ ```
363+
348364` EbeanQueryChannelServiceIntegrationTests.java `
349365``` java
350366package org.springframework.data.ebean.querychannel ;
@@ -444,6 +460,31 @@ public class EbeanQueryChannelServiceIntegrationTests {
444460 assertEquals(" QueryChannel" , userDTO. getFirstName());
445461 assertEquals(
" [email protected] " , userDTO
. getEmailAddress());
446462 }
463+
464+ @Test
465+ public void query_queryObject () {
466+ UserQuery userQuery = new UserQuery ();
467+ userQuery
. setEmailAddress(
" [email protected] " );
468+ userQuery. setAgeStart(1 );
469+ userQuery. setAgeEnd(30 );
470+ UserDTO user = queryChannel. createQuery(User . class, userQuery)
471+ .asDto(UserDTO . class)
472+ .setRelaxedMode()
473+ .findOne();
474+ assertEquals(
" [email protected] " , user
. getEmailAddress());
475+ }
476+
477+ @Test
478+ public void applyQueryObject () {
479+ UserQuery userQuery = new UserQuery ();
480+ userQuery
. setEmailAddress(
" [email protected] " );
481+ userQuery. setAgeStart(1 );
482+ userQuery. setAgeEnd(30 );
483+ UserInfo userInfo = EbeanQueryChannelService . applyWhere(queryChannel. createNamedQuery(UserInfo . class,
484+ " userInfo" ). where(), userQuery). findOne();
485+ assertEquals(" QueryChannel" , userInfo. getFirstName());
486+ assertEquals(
" [email protected] " , userInfo
. getEmailAddress());
487+ }
447488
448489}
449490```
0 commit comments