oracle 中的啥数据类型会映射到 Java int?

Posted

技术标签:

【中文标题】oracle 中的啥数据类型会映射到 Java int?【英文标题】:What datatype in oracle would map to a Java int?oracle 中的什么数据类型会映射到 Java int? 【发布时间】:2011-03-03 17:16:40 【问题描述】:

Oracle(10 速成版)中的哪种类型与 Java int “相同”?

【问题讨论】:

好问题 - 当我使用“INTEGER”创建表时,它似乎将其转换为“NUMBER(22)”,并且可以存储大于 MAX_INT 的数字。 您可以使用数字。但是,请确保您没有将其读取为 Object - JDBC 驱动程序实际上可能会生成 Double。 @Uri 使用 JPA 时不是问题。 【参考方案1】:

Java 的 int 范围为 -2,147,483,648 到 2,147,483,647 - 因此 Number(10,0) 与您将得到的最接近...

【讨论】:

并且,如果合适,您可以向列check (column_name between -2147483648 and 2147483647) 添加检查约束,以确保存储的数据不会超出应用程序可以处理的范围。 不应该是 NUMBER(9,0) 吗?使用 NUMBER(10,0) 你可以有一个超出 Java int 范围的值(例如 9,999,999,999)。 否 - 那么你就不会覆盖整个 int 类型的范围。【参考方案2】:

我会说number(10,0)

【讨论】:

【参考方案3】:

试试 NUMBER 。在 Oracle 中,我们使用 Number 表示整数

【讨论】:

以上是关于oracle 中的啥数据类型会映射到 Java int?的主要内容,如果未能解决你的问题,请参考以下文章

mysql中的longblob对应java中的啥类型

将 java.long 映射到 oracle.Number(14)

数据库的中text类型,对应Java中的啥类型

Hibernate常用的Java数据类型映射到mysql和Oracle

oracle 中的 *.ctl 放的啥东西呀?

数据库的中text类型,对应Java中的啥类型