java - 带有 JPA 的 MySQL 中的 Precision Java Float (EclipseLink)

标签 java mysql jpa floating-point

我在通过 jpa (EclipseLink) 在 mysql 中存储浮点值时遇到精度问题。在我的代码中,我用

注释了该字段
@Column(precision=15, scale=7)
private float x;

但是当我存储像 322,249878 这样的值时,数据库返回 322.25。那里发生了什么 :)?

最佳答案

precisionscale 设置仅适用于精确数字类型(即 Java 中的 BigDecimaldecimal MySQL)。

浮点类型(floatdouble)本质上是近似值,因此这些设置对它们没有意义。

另请注意,如果您将此字段的类型更改为 BigDecimal you should initialize it with precise values as well .

关于java - 带有 JPA 的 MySQL 中的 Precision Java Float (EclipseLink),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11103705/

相关文章:

java - 如何向 Hibernate 过滤器添加大于/小于

java - @Autowire如何在不使用@Bean注解的情况下获取spring bean

java - 在 Netbeans 8.0.2 和 Java 8 中使用 Apache Tika 1.9 会生成巨大的可执行文件。怎么做才能缩小尺寸?

java - 如何在junit测试中通过服务方法模拟返回对象的字段?

php - 需要有关 SQl 中更新语句的帮助

mysql - 从 JOIN 更新列

java - 如何在 native spring-data @Query 中使用命名参数?

java - eclipse 火星 : no option to create new server

java - 如何返回我明确作为参数传递的类型?

mysql - 通过主查询访问子查询中的表名