Сравнение значения Float в критериях гибернации - PullRequest
0 голосов
/ 27 декабря 2018

В моей базе данных есть столбец с именем "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 голосов
/ 27 декабря 2018

Использование cr.add(Restriction.eq("Percentage",0F));

0 голосов
/ 27 декабря 2018

вы должны использовать 0f для указания числа с плавающей запятой.0 является целым числом.

public List<DataFromDB> getDatafromDB(){
    Criteria cr = sessionFactory.getCurrentSession().createCriteria(DataFromDB.class);
    cr.add(Restriction.eq("Percentage",0f));
    return cr.list();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...