java.lang.ClassCastException:java.lang.Long不能在遍历数据库中的值时转换为[Ljava.lang.Long
我正在尝试使用hibernate获取表中的最后一个数据,如以下代码段所示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) {
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,它将返回singleLong
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);
}