在这里,我有两个值示例价格和折扣价格。
当我使用mysql

select price, discountPrice from stockItem where price = discountPrice;


我没有记录。

我改成

select price, discountPrice from stockItem where FORMAT(price,2) = FORMAT(discountPrice,2);


我能够查询记录。

我可以在休眠状态下知道如何用小数点后两位写Detachedcriteria吗?

这里是当前代码:

DetachedCriteria criteria = DetachedCriteria.forClass(StockItem.class);
criteria.add(Restrictions.eqProperty("price", "discountPrice"));
return getHibernateTemplate().findByCriteria(criteria);


有写方法吗?

在mysql中
我们看到它是10.70。我只怀疑实际数字是10.700000000000001。有没有办法识别这一点?

谢谢

最佳答案

尝试:

criteria.add(Restrictions.sqlRestriction("FORMAT(price,2) = FORMAT(discountPrice,2)"));


通过使用sqlRestriction(),可以将文字SQL片段直接插入查询中

关于java - Hibernate如何用2个小数点写Detachedcriteria?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14535046/

10-10 06:03