[DATAJPA-965] Mapping Sort instances to ORDER BY expressions should be restricted to fields for manually defined queries Created: 20/Sep/16  Updated: 23/Sep/16  Resolved: 20/Sep/16

Status: Closed
Project: Spring Data JPA
Component/s: Core
Affects Version/s: 1.9.4 (Gosling SR4), 1.10.2 (Hopper SR2), 1.11 M1 (Ingalls)
Fix Version/s: 1.9.5 (Gosling SR5), 1.10.3 (Hopper SR3), 1.11 RC1 (Ingalls)

Type: Bug Priority: Major
Reporter: Oliver Gierke Assignee: Christoph Strobl
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Relate
is related to DATAJPA-970 Ensure JDK 6 compatibility of regular... Closed
Last updater: Oliver Gierke
Sprint: Hopper SR3 / Gosling SR5

 Comments   
Comment by zyro [ 22/Sep/16 ]

somehow it seems the fix of this issue (or rather one of the added regex expressions) broke java 6 compatibility (using oracle jdk1.6.0_45)?

Caused By: java.util.regex.PatternSyntaxException: Look-behind group does not have an obvious maximum length near index 58
\s+\w+\([0-9a-zA-z\._,\s']+\)\s+[as|AS]+\s+(?<alias>[\w\.]+)
                                                          ^
        at java.util.regex.Pattern.error(Pattern.java:1713)
        at java.util.regex.Pattern.group0(Pattern.java:2488)
        at java.util.regex.Pattern.sequence(Pattern.java:1806)
        at java.util.regex.Pattern.expr(Pattern.java:1752)
        at java.util.regex.Pattern.compile(Pattern.java:1460)
        at java.util.regex.Pattern.<init>(Pattern.java:1133)
        at java.util.regex.Pattern.compile(Pattern.java:823)
        at org.springframework.data.jpa.repository.query.QueryUtils.<clinit>(QueryUtils.java:164)
        at org.springframework.data.jpa.repository.query.JpaQueryMethod.assertParameterNamesInAnnotatedQuery(JpaQueryMethod.java:102)
        at org.springframework.data.jpa.repository.query.JpaQueryMethod.<init>(JpaQueryMethod.java:95)
        at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$AbstractQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:77)
        at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.<init>(RepositoryFactorySupport.java:435)
        at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:220)
        at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.initAndReturn(RepositoryFactoryBeanSupport.java:266)
        at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:252)
        at org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet(JpaRepositoryFactoryBean.java:92)

ref. https://github.com/spring-projects/spring-data-jpa/blame/1.10.3.RELEASE/src/main/java/org/springframework/data/jpa/repository/query/QueryUtils.java#L162

Comment by Oliver Gierke [ 22/Sep/16 ]

Would you mind creating a new issue and (optionally) add a sample project that reproduces the exception?

Comment by Oliver Gierke [ 22/Sep/16 ]

I just successfully ran Hopper SR3 on a JDK 6 (Mac, Update 65) and it seems to work okay. If you open the new ticket I can attach the sample project for you to test on other platforms.

Comment by zyro [ 22/Sep/16 ]

continued in https://jira.spring.io/browse/DATAJPA-970

Generated at Fri Dec 15 14:15:00 UTC 2017 using JIRA 6.4.14#64029-sha1:ae256fe0fbb912241490ff1cecfb323ea0905ca5.