在Java中MapBigDecimal/在MySQL中MapHibernate是什么类型?

l3zydbqr  于 2022-11-14  发布在  Java
关注(0)|答案(1)|浏览(131)

在经历了前一个开发人员的代码残骸之后,我意识到我需要移动所有基于货币的列,以不使用浮点数学。在Java端,这意味着使用BigDecimal,但是当使用Hibernate/JPA和MySQL5时,什么是合适的MySQL数据类型来创建该列?

xggvc2p6

xggvc2p61#

十进制和数值型。
推荐的用于DECIMAL和NUMERIC类型的JavaMap是java.math.BigDecimal。java.math.BigDecimal类型提供数学运算,允许将BigDecimal类型与其他BigDecimal类型、整数类型和浮点类型进行加、减、乘和除。
建议用于检索小数和数值的方法是ResultSet.getBigDecimal。JDBC还允许以简单字符串或字符数组的形式访问这些SQL类型。因此,Java程序员可以使用getString来接收小数或数字结果。然而,这使得将小数或数字用于货币值的常见情况变得相当尴尬,因为这意味着应用程序编写人员必须对字符串执行数学运算。还可以将这些SQL类型作为任何Java数字类型进行检索。
请查看here以了解更多详细信息。

相关问题