【问题标题】: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 时不是问题。

标签: java oracle jpa oracle10g


【解决方案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 表示整数

    【讨论】:

      猜你喜欢
      • 2015-02-15
      • 1970-01-01
      • 1970-01-01
      • 2015-02-24
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多