java - 更正 Oracle 和 PostgreSQL for Java(Hibernate) 浮点类型中的列类型
问题描述
我需要在 Oracle 和 PostgreSQL 中为存储浮点值创建列。
@Column(name = "SOME_VALUE")
private Float someValue;
如何在两个库中创建列以便 Hibernate 正常映射?
FLOAT
我在 Oracle(并且它工作)和BIGINT
PostgresSQL中尝试了该类型。
但我对自己的选择感到困惑。我想要两个数据库的最正确类型。
解决方案
对于甲骨文:
用于NUMBER
任意精度(如果你不能承受舍入误差,例如用钱)或BINARY_DOUBLE
用于更快的处理,如果舍入误差不那么重要,比如温度测量。
对于 PostgreSQL:
PostgreSQL 中对应的数据类型是numeric
和double precision
。
FLOAT
NUMBER
在 Oracle 中与二进制数字的精度限制相同,而bigint
在 PostgresSQL 中则用于大整数。
推荐阅读
- windows - 从 Win32::API 调用返回一个宽字符串
- python - 如何从我们放入的 alist 中找到均值和中位数?
- ssl - 对云端有点困惑,为什么我的 CNAME 证书不起作用
- java - 是否有任何情况下会在不调用 print 函数的情况下将空字符串发送到 System.out?
- ruby - Ruby,rspec 测试方法时预期错误
- django - Django 可以在一个字段中接受和验证多个值吗?
- javascript - Express-Fileupload 不解析heroku中的文件
- postgresql - 如何一次性从 PostGIS 导出栅格?
- java - 在 Firestore 中构建此类数据的正确方法是什么?
- sql - 如何获得一个且只有一个本科学位的课程?