Mysql 如何在hibernate中限制小数精度

Mysql 如何在hibernate中限制小数精度,mysql,hibernate,Mysql,Hibernate,我的SQL查询是“按产品ID从产品组中选择产品ID,格式(平均分数),2)” 我得到了输出 1001 : 2.23, 1002 : -2.69 在Hibernate中,我的查询将是“按product.productId从ProductDAO产品组中选择product.productId格式(平均值(product.score))2” 但是在hibernate中不支持格式函数,有没有办法在hibernate中达到小数精度?在hibernate中,可以通过指定 hbm映射中的精度和比例属性 但在

我的SQL查询是“按产品ID从产品组中选择产品ID,格式(平均分数),2)”

我得到了输出


1001 : 2.23,
1002 : -2.69

在Hibernate中,我的查询将是“按product.productId从ProductDAO产品组中选择product.productId格式(平均值(product.score))2”


但是在hibernate中不支持格式函数,有没有办法在hibernate中达到小数精度?

在hibernate中,可以通过指定 hbm映射中的精度和比例属性

但在您的情况下,由于您使用的是AVG函数,因此上述方法将不起作用。 您可以在BigDecimal中收集平均值(分数),并使用BigDecimal的setScale方法

 aNumber.setScale(2, RoundingMode.HALF_UP);