【问题标题】:Correct column types in Oracle and PostgreSQL for Java(Hibernate) Float type更正 Oracle 和 PostgreSQL for Java(Hibernate) 中的列类型 Float 类型
【发布时间】:2019-04-17 07:10:54
【问题描述】:

我需要在 Oracle 和 PostgreSQL 中创建存储浮点值的列。

@Column(name = "SOME_VALUE")
private Float someValue;

如何在两个库中创建列,以便 Hibernate 正常映射?

我在 Oracle 中尝试了 FLOAT 类型(它可以工作),在 PostgresSQL 中尝试了 BIGINT

但我对自己的选择感到困惑。我想要两个数据库最正确的类型。

【问题讨论】:

    标签: java oracle postgresql hibernate


    【解决方案1】:

    对于甲骨文:

    使用NUMBER 获得任意精度(如果您不能承受舍入误差,例如用钱)或使用BINARY_DOUBLE 进行更快的处理,如果舍入误差不那么重要,例如温度测量。

    对于 PostgreSQL:

    PostgreSQL 中对应的数据类型为numericdouble precision

    Oracle 中的FLOATNUMBER 相同,但精度限制为二进制数字,而PostgresSQL 中的bigint 用于大整数。

    【讨论】:

    • 我将 REAL 用于布斯基地。当我在oraclefloat(63)postgres - real 中运行脚本时。是错了还是有权存在?
    • 这些也可以。正如我所写,FLOAT 与 Oracle 中的 NUMBER 相同,realdouble precision 相似,只是有效数字较少。
    猜你喜欢
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    • 2022-07-26
    • 2015-04-19
    • 2014-04-06
    • 2014-12-27
    相关资源
    最近更新 更多