小编典典

您将在Java / Hibernate中将BigDecimal映射为哪种类型,在MySQL中将其映射为哪种类型?

java

在经历了先前开发人员的代码残骸之后,我意识到我需要移动所有基于资金的列,以不使用浮点数学。在Java方面,这意味着使用BigDecimal,但是在使用Hibernate
/ JPA和MySQL 5时,适合该列的MySQL数据类型是什么?


阅读 262

收藏
2020-12-03

共1个答案

小编典典

十进制和数字。

对于DECIMAL和NUMERIC类型,建议的Java映射是java.math.BigDecimal。java.math.BigDecimal类型提供数学运算以允许与其他BigDecimal类型,整数类型和浮点类型相加,相减,相乘和除以BigDecimal类型。

建议检索DECIMAL和NUMERIC值的方法是ResultSet.getBigDecimal。JDBC还允许以简单的字符串或char数组的形式访问这些SQL类型。因此,Java程序员可以使用getString接收DECIMAL或NUMERIC结果。但是,这使得将DECIMAL或NUMERIC用作货币值的情况比较尴尬,因为这意味着应用程序编写者必须对字符串执行数学运算。也可以将这些SQL类型检索为任何Java数字类型。

看看这里了解更多详情。

2020-12-03