You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 23, 2023. It is now read-only.
I'm using spring-data-jpa with Hibernate. When I've added EntityGraph annotation to repository method and run code I got exception:
java.lang.IllegalArgumentException: The EntityGraph-Feature requires at least a JPA 2.1 persistence provider!
at org.springframework.util.Assert.isTrue(Assert.java:121) ~[na:na]
at org.springframework.data.jpa.repository.query.Jpa21Utils.tryGetFetchGraph(Jpa21Utils.java:103) ~[na:na]
at org.springframework.data.jpa.repository.query.Jpa21Utils.getFetchGraphHint(Jpa21Utils.java:76) ~[na:na]
at org.springframework.data.jpa.repository.support.DefaultQueryHints.lambda$getFetchGraphs$0(DefaultQueryHints.java:113) ~[na:na]
at org.springframework.data.util.Optionals.lambda$null$5(Optionals.java:191) ~[na:na]
at java.util.Optional.map(Optional.java:265) ~[na:na]
at org.springframework.data.util.Optionals.lambda$mapIfAllPresent$6(Optionals.java:191) ~[na:na]
at java.util.Optional.flatMap(Optional.java:294) ~[na:na]
at org.springframework.data.util.Optionals.mapIfAllPresent(Optionals.java:191) ~[na:na]
at org.springframework.data.jpa.repository.support.DefaultQueryHints.getFetchGraphs(DefaultQueryHints.java:112) ~[na:na]
at org.springframework.data.jpa.repository.support.DefaultQueryHints.combineHints(DefaultQueryHints.java:106) ~[na:na]
at org.springframework.data.jpa.repository.support.DefaultQueryHints.forEach(DefaultQueryHints.java:102) ~[na:na]
at org.springframework.data.jpa.repository.support.SimpleJpaRepository.applyQueryHints(SimpleJpaRepository.java:903) ~[springboot-jpa:2.7.0]
at org.springframework.data.jpa.repository.support.SimpleJpaRepository.applyRepositoryMethodMetadata(SimpleJpaRepository.java:897) ~[springboot-jpa:2.7.0]
at org.springframework.data.jpa.repository.support.SimpleJpaRepository.getQuery(SimpleJpaRepository.java:820) ~[springboot-jpa:2.7.0]
at org.springframework.data.jpa.repository.support.SimpleJpaRepository.getQuery(SimpleJpaRepository.java:798) ~[springboot-jpa:2.7.0]
at org.springframework.data.jpa.repository.support.SimpleJpaRepository.findAll(SimpleJpaRepository.java:427) ~[springboot-jpa:2.7.0]
at org.springframework.data.jpa.repository.support.SimpleJpaRepository.findAll(SimpleJpaRepository.java:88) ~[springboot-jpa:2.7.0]
at java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at org.springframework.data.repository.core.support.RepositoryMethodInvoker$RepositoryFragmentMethodInvoker.lambda$new$0(RepositoryMethodInvoker.java:289) ~[na:na]
at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[na:na]
at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[na:na]
at org.springframework.data.repository.core.support.RepositoryComposition$RepositoryFragments.invoke(RepositoryComposition.java:529) ~[na:na]
at org.springframework.data.repository.core.support.RepositoryComposition.invoke(RepositoryComposition.java:285) ~[na:na]
at org.springframework.data.repository.core.support.RepositoryFactorySupport$ImplementationMethodExecutionInterceptor.invoke(RepositoryFactorySupport.java:639) ~[na:na]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[na:na]
at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:163) ~[na:na]
at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:138) ~[na:na]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[na:na]
at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80) ~[na:na]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[na:na]
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[na:na]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[na:na]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[na:na]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[na:na]
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[na:na]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[na:na]
at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:174) ~[na:na]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[na:na]
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[na:na]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[na:na]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[na:na]
at com.sun.proxy.$Proxy306.findAll(Unknown Source) ~[springboot-jpa:na]
I've checked implementation of org.springframework.data.jpa.repository.query.Jpa21Utils and find out that it throws this exception, because after aot compilation javax.persistence.NamedEntityGraph is not present.
Everything works with additional TypeHint: @TypeHint(types = NamedEntityGraph.class)
I think it should work out-of-the-box without additional configuration. Could you fix it?
The text was updated successfully, but these errors were encountered:
I'm using spring-data-jpa with Hibernate. When I've added EntityGraph annotation to repository method and run code I got exception:
I've checked implementation of org.springframework.data.jpa.repository.query.Jpa21Utils and find out that it throws this exception, because after aot compilation javax.persistence.NamedEntityGraph is not present.
Everything works with additional TypeHint:
@TypeHint(types = NamedEntityGraph.class)
I think it should work out-of-the-box without additional configuration. Could you fix it?
The text was updated successfully, but these errors were encountered: