7
7
import java .util .ArrayList ;
8
8
import java .util .Collections ;
9
9
import java .util .List ;
10
+ import java .util .Map ;
11
+
12
+ import jakarta .persistence .criteria .CriteriaBuilder ;
10
13
import jakarta .persistence .criteria .CriteriaQuery ;
11
14
import jakarta .persistence .criteria .Root ;
12
15
22
25
import org .hibernate .query .criteria .HibernateCriteriaBuilder ;
23
26
import org .hibernate .query .criteria .JpaExpression ;
24
27
25
- import org .hibernate .testing .orm .junit .JiraKey ;
28
+ import org .hibernate .testing .orm .junit .Jira ;
26
29
27
30
import org .junit .jupiter .api .Test ;
28
31
32
+ import static org .assertj .core .api .Assertions .assertThat ;
29
33
import static org .hibernate .testing .transaction .TransactionUtil .doInJPA ;
30
34
31
35
/**
@@ -70,15 +74,15 @@ public void testCollectionIsEmptyCriteria() {
70
74
}
71
75
72
76
@ Test
73
- @ JiraKey ( value = " HHH-11225" )
77
+ @ Jira ( "https://hibernate.atlassian.net/browse/ HHH-11225" )
74
78
public void testElementMapIsEmptyHql () {
75
79
doInJPA ( this ::entityManagerFactory , entityManager -> {
76
80
entityManager .createQuery ( "select m from MapEntity m where m.localized is empty" ).getResultList ();
77
81
});
78
82
}
79
83
80
84
@ Test
81
- @ JiraKey ( value = " HHH-11225" )
85
+ @ Jira ( "https://hibernate.atlassian.net/browse/ HHH-11225" )
82
86
public void testElementMapIsEmptyCriteria () {
83
87
doInJPA ( this ::entityManagerFactory , entityManager -> {
84
88
final HibernateCriteriaBuilder cb = (HibernateCriteriaBuilder ) entityManager .getCriteriaBuilder ();
@@ -94,15 +98,15 @@ public void testElementMapIsEmptyCriteria() {
94
98
}
95
99
96
100
@ Test
97
- @ JiraKey ( value = " HHH-11225" )
101
+ @ Jira ( "https://hibernate.atlassian.net/browse/ HHH-11225" )
98
102
public void testEntityMapIsEmptyHql () {
99
103
doInJPA ( this ::entityManagerFactory , entityManager -> {
100
104
entityManager .createQuery ( "select a from Article a where a.translations is empty" ).getResultList ();
101
105
});
102
106
}
103
107
104
108
@ Test
105
- @ JiraKey ( value = " HHH-11225" )
109
+ @ Jira ( "https://hibernate.atlassian.net/browse/ HHH-11225" )
106
110
public void testEntityMapIsEmptyCriteria () {
107
111
doInJPA ( this ::entityManagerFactory , entityManager -> {
108
112
final HibernateCriteriaBuilder cb = (HibernateCriteriaBuilder ) entityManager .getCriteriaBuilder ();
@@ -144,15 +148,15 @@ public void testCollectionSizeCriteria() {
144
148
}
145
149
146
150
@ Test
147
- @ JiraKey ( value = " HHH-11225" )
151
+ @ Jira ( "https://hibernate.atlassian.net/browse/ HHH-11225" )
148
152
public void testElementMapSizeHql () {
149
153
doInJPA ( this ::entityManagerFactory , entityManager -> {
150
154
entityManager .createQuery ( "select m from MapEntity m where size( m.localized ) > 1" ).getResultList ();
151
155
});
152
156
}
153
157
154
158
@ Test
155
- @ JiraKey ( value = " HHH-11225" )
159
+ @ Jira ( "https://hibernate.atlassian.net/browse/ HHH-11225" )
156
160
public void testElementMapSizeCriteria () {
157
161
doInJPA ( this ::entityManagerFactory , entityManager -> {
158
162
final HibernateCriteriaBuilder cb = (HibernateCriteriaBuilder ) entityManager .getCriteriaBuilder ();
@@ -168,15 +172,15 @@ public void testElementMapSizeCriteria() {
168
172
}
169
173
170
174
@ Test
171
- @ JiraKey ( value = " HHH-11225" )
175
+ @ Jira ( "https://hibernate.atlassian.net/browse/ HHH-11225" )
172
176
public void testEntityMapSizeHql () {
173
177
doInJPA ( this ::entityManagerFactory , entityManager -> {
174
178
entityManager .createQuery ( "select a from Article a where size(a.translations) > 1" ).getResultList ();
175
179
});
176
180
}
177
181
178
182
@ Test
179
- @ JiraKey ( value = " HHH-11225" )
183
+ @ Jira ( "https://hibernate.atlassian.net/browse/ HHH-11225" )
180
184
public void testEntityMapSizeCriteria () {
181
185
doInJPA ( this ::entityManagerFactory , entityManager -> {
182
186
final HibernateCriteriaBuilder cb = (HibernateCriteriaBuilder ) entityManager .getCriteriaBuilder ();
@@ -191,4 +195,31 @@ public void testEntityMapSizeCriteria() {
191
195
});
192
196
}
193
197
198
+ @ Test
199
+ @ Jira ("https://hibernate.atlassian.net/browse/HHH-19126" )
200
+ public void testPluralMapPathJavaType () {
201
+ doInJPA ( this ::entityManagerFactory , entityManager -> {
202
+ final CriteriaBuilder cb = entityManager .getCriteriaBuilder ();
203
+
204
+ final CriteriaQuery <Article > criteria = cb .createQuery ( Article .class );
205
+ final Root <Article > root = criteria .from ( Article .class );
206
+
207
+ assertThat ( root .get ( Article_ .translations ).getJavaType () ).isEqualTo ( Map .class );
208
+ assertThat ( root .get ( "translations" ).getJavaType () ).isEqualTo ( Map .class );
209
+ } );
210
+ }
211
+
212
+ @ Test
213
+ @ Jira ("https://hibernate.atlassian.net/browse/HHH-19126" )
214
+ public void testPluralListPathJavaType () {
215
+ doInJPA ( this ::entityManagerFactory , entityManager -> {
216
+ final CriteriaBuilder cb = entityManager .getCriteriaBuilder ();
217
+
218
+ final CriteriaQuery <Address > criteria = cb .createQuery ( Address .class );
219
+ final Root <Address > root = criteria .from ( Address .class );
220
+
221
+ assertThat ( root .get ( Address_ .phones ).getJavaType () ).isEqualTo ( List .class );
222
+ assertThat ( root .get ( "phones" ).getJavaType () ).isEqualTo ( List .class );
223
+ } );
224
+ }
194
225
}
0 commit comments