簡體   English   中英

[Ljava.lang.Object; 不能強制轉換為 entityClass

[英][Ljava.lang.Object; cannot be cast to entityClass

當我嘗試將實體轉換為 DTO 時,我正在使用 JPA 查詢獲取值並將結果放入列表但在服務類中。我收到錯誤“Ljava.lang.Object;無法轉換為實體類”......我嘗試過 forloop、forEach 循環和迭代器出錯。 當我嘗試獲取第一個元素並將其放入 entityclass 對象時,我收到此錯誤。

List<Dashboard> dashboard = (List<Dashboard>)dashboardRepository.findAll();

    System.out.println("AllSolCount Length :------------------------------- "+dashboard.size());
    List<DashboardDto> result = new ArrayList<DashboardDto>();
    System.out.println("List Elements :----------------------------------- "+dashboard);
    /*for(int i=0;i<dashboard.size();i++) {
        **Dashboard obj = (Dashboard)dashboard.get(i); //error in this line I get** 
        DashboardDto dashboardDto = mapToDto(obj, DashboardDto.class, false);

        result.add((DashboardDto) dashboardDto);    
    }

    for (Dashboard obj : dashboard){
        **DashboardDto dashboardDto = mapToDto(obj, DashboardDto.class, false);// error in this line I get**
        result.add((DashboardDto) dashboardDto);
    }*/

    Iterator itr = dashboard.iterator();
    while(itr.hasNext()){
        **Dashboard obj = (Dashboard) itr.next(); // error here itself**

    }

    return result;

雙 * 中的行是每個循環彈出錯誤的行..請給出建議

圖像包含結果集,它是實體類對象的列表,但我無法將類型轉換為實體類本身

在從數據庫檢索數據時,我返回的是實體類列表,而不是實體類列表,我得到的是 java 對象列表。所以我假設可能是某些配置或缺少某些東西。

對我來說它是一個自定義查詢 @Query(value = "SELECT sol.offering, sol.state ,COUNT(sol.id) FROM Solution sol GROUP BY sol.offering,sol.state") public List findAll();

list() 方法返回List ,您不能像以前那樣直接投射它們。

List<Dashboard> dashboard = (List<Dashboard>)dashboardRepository.findAll();

您必須存儲在List<Object[]>並一一迭代List<Object[]>然后轉換為List<Dashboard>

List<Object[]> list= (List<Object[]>)dashboardRepository.findAll();
List<Dashboard> mylist=new ArrayList<>();

            if(list!=null){
            for(Object [] ob:list){
                member1=ob[0];
                member2=ob[1];
                .......
                Dashboard db=new Dashboard(menber1,member2...);//or you use setter method for class member initialize.
                mylist.add(db);
            }
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM