【发布时间】:2026-01-13 13:10:01
【问题描述】:
我正在使用 JPA 将 Oracle DB 合并到 Spring Boot 中。我有一个实体,其中的字段定义如下:
@Column(name = "TOTAL_PREMIUM", precision = 12, scale = 2)
private double totalPremium = 0;
但是当我尝试使用 JPARepository 获取此值时:
Quotes quotes = quoteRepo.findOne(quoteID);
quotes.getTotalPremium()
它给了 2.0, 1348.0 像这样,它对我来说有点不匹配。
有什么方法可以让我得到保存的内容,即值应该是 2, 1348
如果保存为 1389.48 等十进制值,则应返回 1389.48,如果保存 1389,则应返回 1389。
感谢任何帮助。
【问题讨论】:
-
如果将值存储到 Double 变量中,则 2.0 = 2 = 2.000 ;) 所以没有问题
-
@VeselinDavidov 是的,你是对的。但是存在匹配确切值的情况,就像我从第三方获得不带小数的值一样。然后查询保存的数据是否相同
-
好吧,如果您收到的值没有小数点,那么...将其解析为整数,因为此时它不是双精度数。
-
为什么要投票,这是我真正的问题,我已经很好地描述了它,如果我需要做任何更正,请告诉我
-
然后你需要将它映射到String,然后将它作为一个字符串进行比较。如果您将其映射为双倍,则应将其视为双倍
标签: java database oracle spring-boot jpa