我的数据库中有一列名为“ Percentage”的列,它是一个浮点数,我试图获取所有Percentage为0的行。但是下面出现了错误。
public List<DataFromDB> getDatafromDB(){
Criteria cr = sessionFactory.getCurrentSession().createCriteria(DataFromDB.class);
cr.add(Restriction.eq("Percentage",0));
return cr.list();
}
错误:
java.lang.ClassCastException:无法将java.lang.Integer强制转换为java.lang.Float
答案 0 :(得分:3)
您应该使用0f表示浮动。 0是整数。
public List<DataFromDB> getDatafromDB(){
Criteria cr = sessionFactory.getCurrentSession().createCriteria(DataFromDB.class);
cr.add(Restriction.eq("Percentage",0f));
return cr.list();
}
答案 1 :(得分:2)
使用cr.add(Restriction.eq("Percentage",0F));