11
11
import org .junit .Test ;
12
12
import org .objectquery .SelectMapQuery ;
13
13
import org .objectquery .generic .GenericSelectQuery ;
14
+ import org .objectquery .generic .ObjectQueryException ;
14
15
import org .objectquery .hibernate .domain .Person ;
15
16
import org .objectquery .hibernate .domain .PersonDTO ;
16
17
@@ -34,6 +35,41 @@ public void testSimpleSelectMap() {
34
35
assertThat (res .get (0 ).getName (), CoreMatchers .is ("tom" ));
35
36
}
36
37
38
+ @ Test
39
+ public void testSimpleSelectMapNoFilter () {
40
+ SelectMapQuery <Person , PersonDTO > query = new GenericSelectQuery <Person , PersonDTO >(Person .class , PersonDTO .class );
41
+ query .prj (query .target ().getName (), query .mapper ().getName ());
42
+
43
+ List <PersonDTO > res = HibernateObjectQuery .execute (query , session );
44
+ assertThat (res .size (), CoreMatchers .is (3 ));
45
+ for (PersonDTO personDTO : res ) {
46
+ assertThat (personDTO .getName (), CoreMatchers .notNullValue ());
47
+ }
48
+ }
49
+
50
+ @ Test
51
+ public void testSimpleSelectMapTwoEntries () {
52
+ SelectMapQuery <Person , PersonDTO > query = new GenericSelectQuery <Person , PersonDTO >(Person .class , PersonDTO .class );
53
+ query .eq (query .target ().getName (), "tom" );
54
+ query .prj (query .target ().getName (), query .mapper ().getName ());
55
+ query .prj (query .target ().getDog ().getName (), query .mapper ().getSurname ());
56
+
57
+ List <PersonDTO > res = HibernateObjectQuery .execute (query , session );
58
+ assertThat (res .size (), CoreMatchers .is (1 ));
59
+ assertThat (res .get (0 ).getName (), CoreMatchers .is ("tom" ));
60
+ assertThat (res .get (0 ).getSurname (), CoreMatchers .is ("cerberus" ));
61
+ }
62
+
63
+ @ Test (expected = ObjectQueryException .class )
64
+ public void testSimpleSelectMapDeep () {
65
+ SelectMapQuery <Person , PersonDTO > query = new GenericSelectQuery <Person , PersonDTO >(Person .class , PersonDTO .class );
66
+ query .eq (query .target ().getName (), "tom" );
67
+ query .prj (query .target ().getName (), query .mapper ().getName ());
68
+ query .prj (query .target ().getHome ().getAddress (), query .mapper ().getAddressDTO ().getStreet ());
69
+
70
+ HibernateObjectQuery .execute (query , session );
71
+ }
72
+
37
73
@ After
38
74
public void afterTest () {
39
75
if (session != null ) {
0 commit comments