当前位置: 首页 > 面试题库 >

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

盖博简
2023-03-14
问题内容

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


问题答案:

十进制和数字。

对于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数字类型。

看看这里了解更多详情。



 类似资料:
  • 问题内容: 在经历了以前的开发工作的代码折磨之后,我意识到我需要移动所有基于资金的列,以不使用浮点数学。在Java方面,这意味着使用BigDecimal,但在使用Hibernate / JPA和MySQL 5时,适合该列的MySQL数据类型是什么? 问题答案: 十进制和数字。 对于DECIMAL和NUMERIC类型,建议的Java映射是java.math.BigDecimal。java.math.

  • 问题内容: 您在JPA域模型中使用以下哪种收集类型以及原因: 我想知道是否有一些基本规则。 更新 我知道a 和a 之间的区别。A 允许重复且具有顺序,而a 不能包含重复元素且未定义顺序。我在JPA的背景下问这个问题。如果严格遵循定义,那么您应该始终使用类型,因为您的集合存储在关系数据库中,那里您不能重复,并且您自己定义了一个顺序,即Java中的顺序是不一定保留在数据库中。 例如,大多数时候我使用类

  • 问题内容: 我正在寻找一个表的链接,该表包含SQL类型(java.sql.Types)与Java类型之间的映射。 你知道我在哪里可以找到吗? 问题答案: 该 JDBC 4.x的规范 ,通过提供JSR 221 ,提供在标题为附录B中该信息 数据类型转换表 。 请参阅包含从Java对象类型到JDBC类型的映射的表。当调用JDBC API的不同方法时,将有不同的表用于映射。例如,在方法期间使用的映射存在

  • 问题内容: 我的PostgreSQL数据库(9.2)中有一个表,其中的列类型为JSON。我很难将此列映射到“ JPA2实体”字段类型。 我尝试使用String,但是当我保存实体时,出现一个异常,即它无法将字符转换为JSON。 处理JSON列时使用的正确值类型是什么? 一个简单的解决方法是定义一个文本列。 问题答案: 请参阅PgJDBC错误#265。 PostgreSQL过于严格,对数据类型转换非常

  • 我似乎在使用以下JPA代码段将PostgreSQL货币类型映射到java.util.Currency类型时遇到问题: 列cafl\u预算金额是PostgreSQL中的货币类型。 当代码以7.1.1的形式部署到JBoss中时,我得到了本文末尾显示的跟踪。有人处理过那张地图吗?

  • 我在oracle中有一个列(),类型为,希望使用Hibernate选择此列。我将hibernate映射文件映射为.. 并将VO中的timestamp属性作为Double类型。当我选择一个记录时,时间戳总是返回为NULL。存储在此列中的数据的一个示例是: