java - Oracle 和 PostgreSQL 中针对 Java(Hibernate) Float 类型的正确列类型

标签 java oracle postgresql hibernate

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

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

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

我尝试了 Oracle 中的 FLOAT 类型(并且它有效)和 PostgresSQL 中的 BIGINT 类型。

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

最佳答案

对于 Oracle:

使用 NUMBER 实现任意精度(如果您无法承受舍入误差,例如金钱),或者使用 BINARY_DOUBLE 实现更快的处理(如果舍入误差不重要)就像温度测量一样。

对于 PostgreSQL:

PostgreSQL 中对应的数据类型为数字 double

Oracle 中的

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

关于java - Oracle 和 PostgreSQL 中针对 Java(Hibernate) Float 类型的正确列类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53298166/

相关文章:

Python 中的 JavaBean 等价物

java - java中如何将Arraylist中的元素右移

java - 使用 JDBC 将 Sql 查询结果集导出到逗号分隔的文件

sql - 如何将 oracle 时间戳转换为 postgres?

python - Django 测试数据库不返回任何内容

postgresql - 在函数中调用 now()

java - 执行此代码后出现数组越界异常 :

Java同步-等待来自服务器的数据

oracle - PL/SQL : Retrieve names of procedures and functions within a package

node.js - forEach 循环中的 Sequelize 事务