1515 */
1616package org .springframework .data .jpa .repository .query ;
1717
18- import static org .springframework .data .repository .query .parser .Part .Type .IS_NOT_EMPTY ;
19- import static org .springframework .data .repository .query .parser .Part .Type .NOT_CONTAINING ;
20- import static org .springframework .data .repository .query .parser .Part .Type .NOT_LIKE ;
21- import static org .springframework .data .repository .query .parser .Part .Type .SIMPLE_PROPERTY ;
18+ import static org .springframework .data .repository .query .parser .Part .Type .*;
2219
2320import jakarta .persistence .EntityManager ;
2421import jakarta .persistence .criteria .CriteriaQuery ;
3936import org .springframework .data .domain .Sort ;
4037import org .springframework .data .jpa .domain .JpaSort ;
4138import org .springframework .data .jpa .repository .query .JpqlQueryBuilder .ParameterPlaceholder ;
42- import org .springframework .data .jpa .repository .query .JpqlQueryBuilder .PathAndOrigin ;
4339import org .springframework .data .jpa .repository .query .ParameterBinding .PartTreeParameterBinding ;
4440import org .springframework .data .jpa .repository .support .JpqlQueryTemplates ;
4541import org .springframework .data .mapping .PropertyPath ;
@@ -183,8 +179,8 @@ protected JpqlQueryBuilder.Select buildQuery(Sort sort) {
183179 QueryUtils .checkSortExpression (order );
184180
185181 try {
186- expression = JpqlQueryBuilder . expression ( JpqlUtils .toExpressionRecursively (metamodel , entity , entityType ,
187- PropertyPath .from (order .getProperty (), entityType .getJavaType ()))) ;
182+ expression = JpqlUtils .toExpressionRecursively (metamodel , entity , entityType ,
183+ PropertyPath .from (order .getProperty (), entityType .getJavaType ()));
188184 } catch (PropertyReferenceException e ) {
189185
190186 if (order instanceof JpaSort .JpaOrder jpaOrder && jpaOrder .isUnsafe ()) {
@@ -227,7 +223,7 @@ private JpqlQueryBuilder.Select doSelect(Sort sort) {
227223 requiredSelection = getRequiredSelection (sort , returnedType );
228224 }
229225
230- List <PathAndOrigin > paths = new ArrayList <>(requiredSelection .size ());
226+ List <JpqlQueryBuilder . PathExpression > paths = new ArrayList <>(requiredSelection .size ());
231227 for (String selection : requiredSelection ) {
232228 paths .add (JpqlUtils .toExpressionRecursively (metamodel , entity , entityType ,
233229 PropertyPath .from (selection , returnedType .getDomainType ()), true ));
@@ -251,7 +247,7 @@ private JpqlQueryBuilder.Select doSelect(Sort sort) {
251247
252248 } else {
253249
254- List <PathAndOrigin > paths = entityType .getIdClassAttributes ().stream ()//
250+ List <JpqlQueryBuilder . PathExpression > paths = entityType .getIdClassAttributes ().stream ()//
255251 .map (it -> JpqlUtils .toExpressionRecursively (metamodel , entity , entityType ,
256252 PropertyPath .from (it .getName (), returnedType .getDomainType ()), true ))
257253 .toList ();
@@ -320,7 +316,7 @@ public JpqlQueryBuilder.Predicate build() {
320316 PropertyPath property = part .getProperty ();
321317 Type type = part .getType ();
322318
323- PathAndOrigin pas = JpqlUtils .toExpressionRecursively (metamodel , entity , entityType , property );
319+ JpqlQueryBuilder . PathExpression pas = JpqlUtils .toExpressionRecursively (metamodel , entity , entityType , property );
324320 JpqlQueryBuilder .WhereStep where = JpqlQueryBuilder .where (pas );
325321 JpqlQueryBuilder .WhereStep whereIgnoreCase = JpqlQueryBuilder .where (potentiallyIgnoreCase (pas ));
326322
@@ -385,7 +381,7 @@ public JpqlQueryBuilder.Predicate build() {
385381 return type .equals (SIMPLE_PROPERTY ) ? where .isNull () : where .isNotNull ();
386382 }
387383
388- JpqlQueryBuilder .Expression expression = potentiallyIgnoreCase (property , placeholder (metadata ));
384+ JpqlQueryBuilder .Expression expression = potentiallyIgnoreCase (property , placeholder (simple ));
389385 return type .equals (SIMPLE_PROPERTY ) ? whereIgnoreCase .eq (expression ) : whereIgnoreCase .neq (expression );
390386 case IS_EMPTY :
391387 case IS_NOT_EMPTY :
@@ -420,8 +416,8 @@ private <T> JpqlQueryBuilder.Expression potentiallyIgnoreCase(JpqlQueryBuilder.O
420416 * @param path must not be {@literal null}.
421417 * @return
422418 */
423- private <T > JpqlQueryBuilder .Expression potentiallyIgnoreCase (PathAndOrigin path ) {
424- return potentiallyIgnoreCase (path .path (), JpqlQueryBuilder . expression ( path ) );
419+ private <T > JpqlQueryBuilder .Expression potentiallyIgnoreCase (JpqlQueryBuilder . PathExpression path ) {
420+ return potentiallyIgnoreCase (path .getPropertyPath (), path );
425421 }
426422
427423 /**
0 commit comments