我需要在 Oracle 和 PostgreSQL 中创建存储浮点值的列。
@Column(name = "SOME_VALUE")
private Float someValue;
如何在两个库中创建列以便 Hibernate 正常映射?
我尝试了 Oracle 中的 FLOAT
类型(并且它有效)和 PostgresSQL 中的 BIGINT
类型。
但我对自己的选择感到困惑。我想要两个数据库的最正确的类型。
最佳答案
对于 Oracle:
使用 NUMBER
实现任意精度(如果您无法承受舍入误差,例如金钱),或者使用 BINARY_DOUBLE
实现更快的处理(如果舍入误差不重要)就像温度测量一样。
对于 PostgreSQL:
PostgreSQL 中对应的数据类型为数字
和 double
。
FLOAT
与 NUMBER
相同,但精度限制为二进制数字,PostgresSQL 中的 bigint
用于大整数。
关于java - Oracle 和 PostgreSQL 中针对 Java(Hibernate) Float 类型的正确列类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53298166/