.ClassCastException: org.hibernate.internal.SQLQueryImpl не может быть приведен к org.hibernate.internal.QueryImpl.
Я пытаюсь получить коллекцию Lazy, используя EntityGraph
на моей сущности
@Entity
@Table
......
@NamedEntityGraph(name = "getDetails", attributeNodes = { @NamedAttributeNode(value = "prices") })
@NamedNativeQuery(name = "MyTable.getData", query = "SELECT * FROM MyTable", resultClass = MyTable.class)
вместилище
@Query(nativeQuery = true)
@EntityGraph(value = "getDetails", type = EntityGraphType.FETCH)
MyTable findData();
При использовании нативного запроса я получил следующее исключение
java.lang.ClassCastException: org.hibernate.internal.SQLQueryImpl не может быть преобразован в org.hibernate.internal.QueryImpl в org.hibernate.jpa.internal.QueryImpl.list(QueryImpl.java:604) в org.hibernate.jpa.internal.QueryImpl.getSingleResult(QueryImpl.java:529) в sun.reflect.NativeMethodAccessorImpl.invoke0(собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke(NativeMetccessdAccessorImpl.Ampor.java:43) в java.lang.reflect.Method.invoke(Method.java:498) в org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.j..sun.2:37: 37 Proxy276.getSingleResult(Неизвестный источник) по адресу org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:206) в org.springframework.data.jpationExecu.uec..java:78) на org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:102) в org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:92) в org.springframeworkpp.reata.su.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:482) в org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:460) в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) в org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:61) в org.springfram................................................ в орг.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) в java.lang.Thread.run(Thread.java:745)
При использовании JPQL-запроса все работает нормально. Но у меня есть большой нативный запрос, который очень больно переводить на JPQL. Кто-нибудь знает обходной путь в этой ситуации? Буду признателен за любую помощь.