【发布时间】:2020-10-09 21:31:47
【问题描述】:
我想在查询中得到结果的值。
这是我的查询/存储库文件:
@Query("select p.name, p.contact_no, p.email_address, p.time_submitted, p.date_due from Application p where p.application_number like ?1")
List<Application> getApplicationSummaryInfo(String application_number);
服务:
public List<Application> getApplicationSummaryInfo(String application_number);
ServiceImpl:
@Override
public List<Application> getApplicationSummaryInfo(String application_number) {
return (List<Application>)applicationRepository.getApplicationSummaryInfo(application_number);
}
控制器:
List<Application> app_info = applicationService.getApplicationSummaryInfo(application_no);
我只知道如何使用 foreach 在 jsp 文件中访问它。但我想访问我的控制器文件中的字段。
我试过这样做:
List<Application> app_info = applicationService.getApplicationSummaryInfo(application_no);
System.out.println(app_info.get(0));
我得到了这个结果:
[Ljava.lang.Object;@28bf8e6e
然后我尝试获取确切的“名称”字段值
List<Application> app_info = applicationService.getApplicationSummaryInfo(application_no);
System.out.println(app_info.get(0).getName());
但我收到此错误
java.lang.ClassCastException: class [Ljava.lang.Object; cannot be cast to class com.pckg_name.model.Application ([Ljava.lang.Object; is in module java.base of loader 'bootstrap'; com.rtc_insurance.model.Application is in unnamed module of loader 'app')
真的希望你能帮助我。谢谢!
【问题讨论】:
-
applicationRepository.getApplicationSummaryInfo的实际返回值是多少?这不是List,我可以免费告诉你这么多。 -
返回对象 [Ljava.lang.Object;@28bf8e6e
-
你误会了。我知道那是什么,但我想看看那个方法的签名。
public ??? getApplicationSummaryInfo之间说什么? -
Application类是什么。是entity还是dto? -
@MortezaBandi 实体
标签: java spring list spring-boot classcastexception