java.lang.ClassCastException:[Ljava.lang.Object;无法转换或 BeanUtils.copyProperties 不起作用

2024-02-09

我是 JPA 新手,并且 Spring Boot 在使用 @Query param 时无法获取 api 响应(我尝试实现内部联接)

存储库类:

 @Transactional(rollbackFor = Exception.class)
    @Modifying
    @Query("select A.id, A.position ,A.title,A.shortdescription,A.thumbnailimage, A.linkactions, A.last_updated_date, A.last_updated_by, B.countryName " +
            "from ContentManage as A inner join Country as B on A.countryid=B.countryId")
    List<ContentManage> fetchDataInnerJoin();

服务等级:

public ContentManageListResponse queryAllActions() {
        List<ContentManage> contentManageList = contentManageRepository.fetchDataInnerJoin();
        List<ContentManageVO> contentManageVOList = new ArrayList<>();
        for (ContentManage contentManage : contentManageList) {
            ContentManageVO contentManageVO = new ContentManageVO();
            BeanUtils.copyProperties(contentManage,contentManageVO);
            contentManageVOList.add(contentManageVO);
        }
        return ContentManageListResponse.builder().contents(contentManageVOList).build();
    }

在我更改为如下之后,出现“ [Ljava.lang.Object;无法转换”异常:

服务等级

public ContentManageListResponse queryAllActions() {
        List<ContentManage> contentManageList = contentManageRepository.fetchDataInnerJoin();
        List<ContentManageVO> contentManageVOList = new ArrayList<>();
        for (Object contentManage : contentManageList) {
            ContentManageVO contentManageVO = new ContentManageVO();
            BeanUtils.copyProperties(contentManage,contentManageVO);
            contentManageVOList.add(contentManageVO);
        }
        return ContentManageListResponse.builder().contents(contentManageVOList).build();
    }

foreach 添加了对象,但对于上面的代码,我得到了空值 BeanUtils.copyProperties不管用

请任何人建议如何解决这个问题。


你的陈述

@Query("select A.id, A.position ,A.title,A.shortdescription,A.thumbnailimage, A.linkactions, A.last_updated_date, A.last_updated_by, B.countryName " +
            "from ContentManage as A inner join Country as B on A.countryid=B.countryId")

包含来自ContentManage and Country在选择. 但你的结果只是一个List<ContentManage>

为了解决这个问题,您可以创建一个新的 Dto 类,其中包含您需要的来自 A 和 B 的所有字段。此 Dto 类必须有一个全参数构造函数。然后代替

 "select A.id, A.position ,A.title,A.shortdescription,A.thumbnailimage, A.linkactions, A.last_updated_date, A.last_updated_by, B.countryName " +
            "from ContentManage as A inner join Country as B on A.countryid=B.countryId"

你可以写:

"select new com.you.package.YourDtoClass (A.id, A.position ,A.title,A.shortdescription,A.thumbnailimage, A.linkactions, A.last_updated_date, A.last_updated_by, B.countryName) " +
            "from ContentManage as A inner join Country as B on A.countryid=B.countryId"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.lang.ClassCastException:[Ljava.lang.Object;无法转换或 BeanUtils.copyProperties 不起作用 的相关文章

随机推荐

  • 让 SSL 与 OSX 上的 Apache/Passenger 一起使用

    我在我的开发机器上使用 apache passenger 但需要添加 SSL 支持 不通过控制面板公开的东西 我之前在生产中已经这样做过 但由于某种原因 我似乎无法在 OSX 上运行它 到目前为止我所遵循的步骤来自默认的 apache os
  • 转换 data.table 中的*一些*列类

    我想将 data table 列的子集转换为新类 这里有一个热门问题 转换 data table 中的列类 https stackoverflow com questions 7813578 convert column classes i
  • 如何将 asyncio 与其他操作系统线程同步?

    我有一个带有一个主线程的程序 我在其中生成第二个使用 asyncio 的线程 是否提供任何工具来同步这两个线程 如果一切都是异步的 我可以使用它的同步原语来完成 例如 import asyncio async def taskA lst e
  • VB.NET - 将 WinForm 应用程序导出/转换为 Web ASP.NET 应用程序的最简单方法

    背景 我有一个用 VB NET 编写的 winform 应用程序 它使用 WebService 根据用户选择进行不同采访的营销公司向用户发送不同的邀请 winform 应用程序从各种文本框 列表框和下拉列表中提取字符串值 以创建一些 XML
  • 在 Rails 应用程序中连接到 Google Analytics API [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有一个很好的教程 如何在 Rails 应用程序中与 Google Analytics API 交互
  • 将任何base64文件转换为文件并移动到php / Symfony 4中的目标路径

    预先感谢我正在创建 APIsymfony 4只是上传base64 image或通过任何文件POSTMAN我必须将文件移动到目标目录 我在控制器中编写了以下代码 通过控制器我试图将文件移动到目录 但是 我收到的错误如下 未捕获的警告 file
  • 如何阻止 IE7 由于 hasLayout 清除浮动

    我有一个包含元素 其中包含许多浮动元素 该包含元素还应用了百分比宽度值 在 IE7 中 包含浮动的元素后面的内容被清除 因为宽度值赋予了它 hasLayout 我认为 我不希望包含元素具有布局 但我确实需要它具有明确的宽度 有没有办法在 I
  • 在 bitbucket ssh 连接期间,Linux 终端上出现“错误的配置选项”。

    我想开始使用 bitbucket 我已经按照教程的步骤连接到他们的服务器 link https confluence atlassian com pages viewpage action pageId 270827678 配置文件总是有问
  • Sparklyr - 更改 Spark 中的日期格式

    我有一个 Spark 数据框 其中有一列characters作为 20 01 2000 日 月 年 但我试图将其更改为日期格式 这样我就可以使用这里的功能 https cwiki apache org confluence display
  • 计算两个列表中匹配元素的数量

    我有 2 个包含随机数量元素的列表 例如 A 1 2 4 5 和 B 1 2 3 结果应该是2 我尝试过的代码 domains Numbers1 integer Numbers2 integer int list integer predi
  • 在C中存储对lua函数的引用

    我有一个用 C 实现的基本事件处理程序 我的应用程序中还有一个嵌入式 Lua 解释器 我需要它与事件管理器交互 最终目标是能够拥有一个事件处理程序 在事件触发时同时执行 C 和 Lua 函数 我的问题是我无法想出一种简单的方法来存储对 C
  • 当命名空间应该被继承时,为什么 cxf 对没有命名空间前缀的元素抛出解组错误

    我正在创建一个在 Java 11 Spring Boot 服务器中运行并向 Java 8 服务器发出请求的 SOAP 客户端 我在 Gradle 6 9 版本中使用 cxf rt frontend jaxws 3 4 3 和 cxf rt
  • 如何通知Android Widget重画

    我有一个 Android Widget 使用RemoteViewsFactory为了填充ListView 我的数据源是一个异步 JSON 调用 可以随时完成 它不是推送通知 现在代码位于onDataChanged看起来像这样 Overrid
  • 在 MVC 操作中隐藏查询字符串

    我想将查询字符串隐藏到我的控制器的操作中 在我的应用场景中是这样的 1 我已在新窗口中打开新操作 var check Particular String var url rootUrl Home Preview Docs check win
  • 是否可以通过 flutter app 分享您的位置

    我在 flutter dart 中构建了一个应用程序来访问用户的位置 我现在想通过 Whatsapp 电子邮件等共享用户当前的物理位置 但不是作为坐标 我尝试过地理定位和位置 但似乎只能获取坐标 下面是我的分享按钮的片段 其中显示了坐标 分
  • cls() 函数在类方法中做什么?

    今天查看别人的代码 看到了这样的内容 class A B Omitted bulk of irrelevant code in the class def init self uid None self uid str uid classm
  • 过载解析异常

    不确定这是否是 C 4 特定的 但只是注意到了这一点 考虑以下类 class Base protected void Foo object bar DayOfWeek day class Program Base protected voi
  • PDO 相当于 mysql_fetch_array

    我正在努力处理相当于以下查询的 PDO 该查询计算队列中有多少个新项目 并计算出完成它们需要多少周 从而给我一个工作堆栈时间表 count new to be made new SELECT FLOOR SUM TotalNew 7 AS
  • Unity 容器 - 延迟注入

    假设我有课 class Foo FooBase public Foo Settings settings IDbRepository db base settings this db db 基本上 FooBase 通过构造函数接收设置并从配
  • java.lang.ClassCastException:[Ljava.lang.Object;无法转换或 BeanUtils.copyProperties 不起作用

    我是 JPA 新手 并且 Spring Boot 在使用 Query param 时无法获取 api 响应 我尝试实现内部联接 存储库类 Transactional rollbackFor Exception class Modifying