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?的主要内容,如果未能解决你的问题,请参考以下文章
将 java.long 映射到 oracle.Number(14)