在休眠标准中比较浮点值

时间:2018-12-27 03:06:10

标签: java floating-point hibernate-criteria

我的数据库中有一列名为“ 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

2 个答案:

答案 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));