我使用hibernate,我有这个java方法:
public Integer getNumber(String user) {
SQLProperties properties = new SQLProperties();
String query = "select out_count('"+user+"')";
query += SQLUtils.getProperties(properties);
SQLQuery sqlQuery = this.getSession().createSQLQuery(query);
sqlQuery = SQLUtils.addScalar(sqlQuery, properties);
List<Integer> list = sqlQuery.list();
System.out.println("val : "+list.get(0));
return list.get(0);
}
但是当我测试时我有这个错误:
val : 200
java.lang.ClassCastException: java.lang.String
at com..hibernate.model.dao.testDAO.getNumber(Unknown Source)
答案 0 :(得分:0)
检查要返回的实际类型。你从该查询中获得了一个String。将其转换为Integer.parseInt()
答案 1 :(得分:0)
看起来你有List<String>
,而不是List<Integer>
。可能会出现未经检查的警告,是不是存在?