1

I'm currently in the process of migrating from Spring Boot 2 to Spring Boot 3. Previously, my project was smoothly running on Java 8 with Spring Boot 2.4. Now, I'm using Java 17 and Spring Boot 3.1.10, with Oracle 19 as my database and Maven 3.9.2 as my build tool. Although I haven't encountered any compiler issues during the migration, I'm facing runtime errors when attempting to run the project. Below is the error message:

[WARN ] [2024-04-17T17:27:56.763+05:30Z] requestId= REQUEST.PARTY= REQUEST.OWNER= [org.apache.juli.logging.DirectJDKLog] [restartedMain] [173] The web application [processflow5] appears to have started a thread named [oracle.jdbc.driver.BlockSource.ThreadedCachingBlockSource.BlockReleaser] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: [email protected]/jdk.internal.misc.Unsafe.park(Native Method) [email protected]/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) [email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672) app//oracle.jdbc.internal.Monitor$WaitableMonitor.monitorWait(Monitor.java:259) app//oracle.jdbc.internal.Monitor$WaitableMonitor.monitorWait(Monitor.java:241) app//oracle.jdbc.driver.BlockSource$ThreadedCachingBlockSource$BlockReleaser.run(BlockSource.java:346) [WARN ] [2024-04-17T17:27:56.765+05:30Z] requestId= REQUEST.PARTY= REQUEST.OWNER= [org.apache.juli.logging.DirectJDKLog] [restartedMain] [173] The web application [processflow5] appears to have started a thread named [InterruptTimer] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: [email protected]/java.lang.Object.wait(Native Method) [email protected]/java.util.TimerThread.mainLoop(Timer.java:563) [email protected]/java.util.TimerThread.run(Timer.java:516) [INFO ] [2024-04-17T17:27:56.786+05:30Z] requestId= REQUEST.PARTY= REQUEST.OWNER= [org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLogger] [restartedMain] [82]

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. [ERROR] [2024-04-17T17:27:56.806+05:30Z] requestId= REQUEST.PARTY= REQUEST.OWNER= [org.springframework.boot.SpringApplication] [restartedMain] [835] Application run failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userVerify': Unsatisfied dependency expressed through field 'userData': Error creating bean with name 'userServiceImplExtention': Unsatisfied dependency expressed through field 'userRepository': Error creating bean with name 'userRepository' defined in niz.sample.test.loc.repository.UserRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Could not create query for public abstract org.springframework.data.domain.Page niz.sample.test.loc.repository.UserRepository.findPaginatedByUserAndStatus(java.lang.String,java.lang.String,java.lang.String,org.springframework.data.domain.PageRequest); Reason: Validation failed for query for method public abstract org.springframework.data.domain.Page niz.sample.test.loc.repository.UsersRepository.findPaginatedByUserAndStatus(java.lang.String,java.lang.String,java.lang.String,org.springframework.data.domain.PageRequest) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:776) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:756) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:145) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:497) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1414) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:518) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:615) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:738) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:440) at org.springframework.boot.SpringApplication.run(SpringApplication.java:324) at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:150) at biz.nable.sample.oc.ApplicationStarter.main(ApplicationStarter.java:47) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException:Error creating bean with name 'userVerify': Unsatisfied dependency expressed through field 'userData': Error creating bean with name 'userServiceImplExtention': Unsatisfied dependency expressed through field 'userRepository': Error creating bean with name 'userRepository' defined in niz.sample.test.loc.repository.UserRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Could not create query for public abstract org.springframework.data.domain.Page niz.sample.test.loc.repository.UserRepository.findPaginatedByUserAndStatus(java.lang.String,java.lang.String,java.lang.String,org.springframework.data.domain.PageRequest); Reason: Validation failed for query for method public abstract org.springframework.data.domain.Page niz.sample.test.loc.repository.UsersRepository.findPaginatedByUserAndStatus(java.lang.String,java.lang.String,java.lang.String,org.springframework.data.domain.PageRequest) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:776) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:756) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:145) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:497) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1414) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:518) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1417) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1337) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:773) 24 common frames omitted Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userVerify': Unsatisfied dependency expressed through field 'userData': Error creating bean with name 'userServiceImplExtention': Unsatisfied dependency expressed through field 'userRepository': Error creating bean with name 'userRepository' defined in niz.sample.test.loc.repository.UserRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Could not create query for public abstract org.springframework.data.domain.Page niz.sample.test.loc.repository.UserRepository.findPaginatedByUserAndStatus(java.lang.String,java.lang.String,java.lang.String,org.springframework.data.domain.PageRequest); Reason: Validation failed for query for method public abstract org.springframework.data.domain.Page niz.sample.test.loc.repository.UsersRepository.findPaginatedByUserAndStatus(java.lang.String,java.lang.String,java.lang.String,org.springframework.data.domain.PageRequest) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1768) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:596) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:518) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1417) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1337) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:773) 38 common frames omitted Caused by: org.springframework.data.repository.query.QueryCreationException: Could not create query for public abstract org.springframework.data.domain.Page niz.sample.test.loc.repository.UserRepository.findPaginatedByCompanyAndStatus(java.lang.String,java.lang.String,java.lang.String,org.springframework.data.domain.PageRequest); Reason: Validation failed for query for method public abstract org.springframework.data.domain.Page niz.sample.test.loc.repository.UserRepository.findPaginatedByCompanyAndStatus(java.lang.String,java.lang.String,java.lang.String,org.springframework.data.domain.PageRequest) at org.springframework.data.repository.query.QueryCreationException.create(QueryCreationException.java:101) at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.lookupQuery(QueryExecutorMethodInterceptor.java:115) at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.mapMethodsToQuery(QueryExecutorMethodInterceptor.java:99) at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.lambda$new$0(QueryExecutorMethodInterceptor.java:88) at java.base/java.util.Optional.map(Optional.java:260) at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.(QueryExecutorMethodInterceptor.java:88) at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:357) at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.lambda$afterPropertiesSet$5(RepositoryFactoryBeanSupport.java:279) at org.springframework.data.util.Lazy.getNullable(Lazy.java:245) at org.springframework.data.util.Lazy.get(Lazy.java:114) at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:285) at org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet(JpaRepositoryFactoryBean.java:132) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1815) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1764) 48 common frames omitted Caused by: java.lang.IllegalArgumentException: Validation failed for query for method public abstract org.springframework.data.domain.Page niz.sample.test.loc.repository.UserRepository.findPaginatedByCompanyAndStatus(java.lang.String,java.lang.String,java.lang.String,org.springframework.data.domain.PageRequest) at org.springframework.data.jpa.repository.query.SimpleJpaQuery.validateQuery(SimpleJpaQuery.java:100) at org.springframework.data.jpa.repository.query.SimpleJpaQuery.(SimpleJpaQuery.java:70) at org.springframework.data.jpa.repository.query.JpaQueryFactory.fromMethodWithQueryString(JpaQueryFactory.java:60) at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$DeclaredQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:170) at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$CreateIfNotFoundQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:252) at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$AbstractQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:95) at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.lookupQuery(QueryExecutorMethodInterceptor.java:111) 60 common frames omitted Caused by: java.lang.IllegalArgumentException: org.hibernate.query.SemanticException: A query exception occurred [SELECT rp FROM Users rp WHERE companyId =?2 AND Status =?3 AND cast(rp.userId string) LIKE ?1] at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:138) at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:175) at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:182) at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:761) at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:663) at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:127) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:360) at jdk.proxy4/jdk.proxy4.$Proxy148.createQuery(Unknown Source) at org.springframework.data.jpa.repository.query.SimpleJpaQuery.validateQuery(SimpleJpaQuery.java:94) 66 common frames omitted Caused by: org.hibernate.query.SemanticException: A query exception occurred [SELECT rp FROM User rp WHERE companyId =?2 AND status =?3 AND cast(rp.userId string) LIKE ?1] at org.hibernate.query.hql.internal.StandardHqlTranslator.parseHql(StandardHqlTranslator.java:130) at org.hibernate.query.hql.internal.StandardHqlTranslator.translate(StandardHqlTranslator.java:77) at org.hibernate.internal.AbstractSharedSessionContract.lambda$createQuery$2(AbstractSharedSessionContract.java:748) at org.hibernate.query.internal.QueryInterpretationCacheStandardImpl.createHqlInterpretation(QueryInterpretationCacheStandardImpl.java:141) at org.hibernate.query.internal.QueryInterpretationCacheStandardImpl.resolveHqlInterpretation(QueryInterpretationCacheStandardImpl.java:128) at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:745) 75 common frames omitted Caused by: org.hibernate.query.sqm.ParsingException: line 1:88 no viable alternative at input 'SELECTrpFROMUserrpWHEREcompanyId=?2ANDstatus=?3ANDcast(gp.userIdstring' at org.hibernate.query.hql.internal.StandardHqlTranslator$1.syntaxError(StandardHqlTranslator.java:46) at org.antlr.v4.runtime.ProxyErrorListener.syntaxError(ProxyErrorListener.java:41) at org.antlr.v4.runtime.Parser.notifyErrorListeners(Parser.java:543) at org.antlr.v4.runtime.DefaultErrorStrategy.reportNoViableAlternative(DefaultErrorStrategy.java:310) at org.antlr.v4.runtime.DefaultErrorStrategy.reportError(DefaultErrorStrategy.java:136) at org.hibernate.grammars.hql.HqlParser.queryExpression(HqlParser.java:1180) at org.hibernate.grammars.hql.HqlParser.selectStatement(HqlParser.java:382) at org.hibernate.grammars.hql.HqlParser.statement(HqlParser.java:313) at org.hibernate.query.hql.internal.StandardHqlTranslator.parseHql(StandardHqlTranslator.java:116) 80 common frames omitted

Process finished with exit code 0

I'd appreciate any guidance on resolving this issue and ensuring a seamless transition to Spring Boot 3.

1
  • This looks like hibernate doesn't understand the syntax of the query generated by Spring Data(?), therefore ParsingException: line 1:88 no viable alternative at .. is thrown. See elvisciotti.medium.com/… - Could be something to do with a version mismatch, did you move spring data, hibernate, the db connector etc all together to new versions? Commented Apr 17, 2024 at 19:30

1 Answer 1

-1

Based on the underlying cause, you would mostly need to fix the semantics of the query translated based on the name of your API under the UserRepository which is currently represented as(from the exception):

org.springframework.data.domain.Page niz.sample.test.loc.repository.UserRepository.findPaginatedByUserAndStatus(java.lang.String,java.lang.String,java.lang.String,org.springframework.data.domain.PageRequest); 

to something like

Page<User> findByCompanyAndStatus(String company, String status, Pageable pageable);

Suspecting this based on the logs:

at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.lookupQuery(QueryExecutorMethodInterceptor.java:111) 60 common frames omitted Caused by: java.lang.IllegalArgumentException: org.hibernate.query.SemanticException: A query exception occurred [SELECT rp FROM Users rp WHERE companyId =?2 AND Status =?3 AND cast(rp.userId string) LIKE ?1] 
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:138) 
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:175) 
Sign up to request clarification or add additional context in comments.

2 Comments

Its seems its working on java 8 not in 17
@KPS are you getting the same SemanticException or is it different upon changing the code?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.