Я создаю веб-сервис, чтобы получить раскрывающийся список на основе другого выпадающего списка.Ошибка с запросом JPA
класс JPA:
public interface TbiAuthorizationMasterDao extends CrudRepository<TbiAuthorizationMaster, Integer>, JpaRepository<TbiAuthorizationMaster, Integer> {
@Query("select a.authorizationName from TbiAuthorizationMaster a, TbiAuthorizationDetail d where a.authorizationId=d.tbiAuthorizationMaster.authorizationId and d.valueName=?1")
List<TbiAuthorizationMaster> findByValueName(String valueName);
}
Постоянство Класс:
@Override
public List getReportList(String reportType) {
List<TbiAuthorizationMaster> reportList = tbiAuthorizationMasterDao.findByValueName(reportType);
List<AuthMaster> detailResponse = new ArrayList<>();
for(TbiAuthorizationMaster aDeatil: reportList){
AuthMaster res = new AuthMaster();
res.setAuthorizationId(aDeatil.getAuthorizationId());
res.setAuthorizationName(aDeatil.getAuthorizationName());
detailResponse.add(res);
}
return detailResponse;
}
Я получаю ошибку, которую я не понимая. Bcoz я использовал то же самое в другой службе. Он работал отлично, в этом он не работает, где я вхожу в 2 таблицы в запросе
Журнал ошибок:
java.lang.ClassCastException: java.lang.String cannot be cast to com.acinfotech.timebound.jpa.model.TbiAuthorizationMaster
at com.acinfotech.timebound.jpa.service.ReportJobsPersistenceServiceImpl.getReportList(ReportJobsPersistenceServiceImpl.java:7876)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy81.getReportList(Unknown Source)
at com.acinfotech.timebound.restservice.service.RestServiceImpl.getReportList(RestServiceImpl.java:2771)
at com.acinfotech.timebound.restservice.service.RestrsService.listReports(RestrsService.java:9940)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
Ошибка в строке:
for(TbiAuthorizationMaster aDeatil: reportList){
может кто-то пожалуйста, помогите в этом.
Это query return String List. – ozgur