CriteriaBuilder float 问题

对于CriteriaBuilder用法介绍:http://www.4byte.cn/question/57574/how-to-use-criteriaquery-sum-of-custom-operation-on-some-cells.html


问题一:float比较大小

在对应的实体类中min是float型。导致使用ge(大于或等于)会出现 小于0.2的内容依然出现在查询结果中,原因是取了小数点前的值,也就是整数部分。换成Double就可以了,如果不放心可以用float * 100;测试发现Double就ok了

代码如下:

double min = configurationService.getConfigValueByName("min", 0.2f);
conditions.add(builder.ge(root.<Double>get("revenue"), min));

留着备忘


你可能感兴趣的:(float,CriteriaBuilder)