在经历了前面开发人员的代码残骸之后,我意识到我需要移动所有基于货币的列,以便不使用浮点数学。在Java端,这意味着使用BigDecimal,但是当使用Hibernate/JPA和MySQL 5时,什么是适当的MySQL数据类型来创建该列?
发布于 2011-09-26 11:55:45
小数和数值型。
对于DECIMAL和NUMERIC类型,推荐的
映射是java.math.BigDecimal。java.math.BigDecimal类型提供数学运算,允许将BigDecimal类型与其他BigDecimal类型、整数类型和浮点类型进行加、减、乘、除运算。
检索十进制值和数字值的推荐方法是ResultSet.getBigDecimal。JDBC还允许以简单字符串或字符数组的形式访问这些SQL类型。因此,Java程序员可以使用getString接收十进制或数字结果。然而,这使得将DECIMAL或NUMERIC用于货币值的常见情况变得相当尴尬,因为这意味着应用程序编写者必须对字符串执行数学运算。还可以将这些SQL类型作为任何Java数字类型进行检索。
请查看here以了解更多详细信息。
https://stackoverflow.com/questions/7550337
复制相似问题