java.lang.ClassCastException:java.lang.Long不能在遍历数据库中的值时转换为[Ljava.lang.Long

java.lang.ClassCastException:java.lang.Long不能在遍历数据库中的值时转换为[Ljava.lang.Long,java,spring,hibernate,hql,Java,Spring,Hibernate,Hql,我正在尝试使用hibernate获取表中的最后一个数据,如以下代码段所示 query.setMaxResults(1); List<Long[]> rows = query.list(); System.out.println("current row>>>>>> " +rows.toString()); for (Long[] row: rows) {

我正在尝试使用hibernate获取表中的最后一个数据,如以下代码段所示

query.setMaxResults(1);
         List<Long[]> rows =  query.list();
         System.out.println("current row>>>>>>  " +rows.toString());

          for (Long[] row: rows) {
                System.out.println(" ------------------- ");
                long val = (Long) row[6];
                System.out.println("current file: " + val);
            }

          }catch(Exception ex){
              ex.printStackTrace();
          }
我在代码的这一行有错误

java.lang.ClassCastException: java.lang.Long cannot be cast to [Ljava.lang.Long;
for (Long[] row: rows) {

请问有什么问题?

您的查询返回
列表
,您正在分配
列表


您的查询返回
List
,您正在分配
List


删除
query.setMaxResults(1);

否则你将得到一个结果

试试这个

已编辑

     List<Long> rows =  query.list();
     System.out.println("current row>>>>>>  " +rows.toString());

      for (Long val: rows) {
            System.out.println(" ------------------- ");
            System.out.println("current file: " + val);
      }
List rows=query.List();
System.out.println(“当前行>>>>>”+行.toString());
用于(长值:行){
System.out.println(“------------------------”;
System.out.println(“当前文件:+val”);
}

删除
query.setMaxResults(1);

否则你将得到一个结果

试试这个

已编辑

     List<Long> rows =  query.list();
     System.out.println("current row>>>>>>  " +rows.toString());

      for (Long val: rows) {
            System.out.println(" ------------------- ");
            System.out.println("current file: " + val);
      }
List rows=query.List();
System.out.println(“当前行>>>>>”+行.toString());
用于(长值:行){
System.out.println(“------------------------”;
System.out.println(“当前文件:+val”);
}

Ljava.lang.Long表示java.lang.Long的列表您的查询是什么,您返回的是什么查询刚刚根据您的查询添加了查询(假设文件的id是Long),您将得到一个列表而不是列表。Try:List rows=query.List();您还将max result设置为1,它将返回单个
Long
Ljava.lang.Long表示java.lang.Long的列表您的查询是什么,您返回的是什么query刚刚根据您的查询添加的内容(假设文件的id是Long),您将得到一个列表而不是列表。Try:List rows=query.List();另外,您已将max result设置为1,它将返回single
Long
List rows=query.List();类型不匹配:无法从元素类型Long转换为Long[]将类型row更改为Long您还需要将row更改为Long,以便loopList rows=query.List();类型不匹配:无法从元素类型Long转换为Long[]将类型行更改为Long您还需要将行更改为Long in以获得循环类型不匹配:无法从元素类型Long转换为Long[]将类型行更改为Long类型不匹配:无法从元素类型Long转换为Long[]将类型行更改为Long
     List<Long> rows =  query.list();
     System.out.println("current row>>>>>>  " +rows.toString());

      for (Long val: rows) {
            System.out.println(" ------------------- ");
            System.out.println("current file: " + val);
      }