获取此消息:
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to [Ljava.lang.Object;
这是Java代码:
public List<String> retrieveData() {
String queryString = " " +
"SELECT o.rootOrganisation.idOrganisation " +
"FROM Organisation o " +
"ORDER BY o.idOrganisation " ;
Query query = getFilteredCurrentSession().createQuery(queryString);
List<Object[]> listOfObject = query.list();
List<String> listOfDTO = new ArrayList<>();
//Loop through an array of objects
for (Object[] org : listOfObject ) {
for (int i = 0; i < org.length; i++) {
listOfDTO .add((String) org[i]);
}
}
return listOfDTO;
}
返回listOfDTO时,获取类强制转换异常。
答案 0 :(得分:0)
问题出在List<Object[]> listOfObject = query.list()
行上。 query.list()
返回的至少一个元素是String
,而不是对象数组。