【问题标题】:Hibernate how to write Detachedcriteria in 2 decimal point?Hibernate如何在小数点后2位写Detachedcriteria?
【发布时间】:2013-01-26 07:59:07
【问题描述】:

这里我有 2 个值示例 price 和 discountPrice。 当我使用 mysql 时

select price, discountPrice from stockItem where price = discountPrice;

我没有找到记录。

我改成之后

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

我可以查询出记录。

我可以知道在hibernate中如何将Detachedcriteria写成小数点后2位吗?

这里是当前代码:

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

有办法写吗?

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

谢谢

【问题讨论】:

    标签: java hibernate detachedcriteria


    【解决方案1】:

    尝试:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-09
      • 1970-01-01
      • 2017-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多