【发布时间】:2011-10-07 01:49:17
【问题描述】:
我有一个字段名为“BID”的表,其数据类型设置为 NUMERIC(20,0)。现在我知道它永远不会是十进制/浮点值,而始终是整数/长整数,即自然数。
代码生成器有没有办法让生成的模型类中的变量为 Long,而不是它当前生成的 java.math.BigDecimal。可以在jooq.properties中设置吗??
【问题讨论】:
-
为什么不在 DBMS 中使用 int 或更长的时间?
-
@gbn: NUMERIC(20,0) 可以容纳比
BIGINT更大的数字(Java 中的Long,只有 19 位小数)... -
@Lukas Eder:NUMERIC(20,0) (+- 9.99 E20) 仅略高于 64 signed int (+- 9.2E18)。更高的数字,是的,但高达 19/20 是 32 位限制的经典解决方法(例如 SQL Server 2000 之前的旧版本)
-
@gbn:我明白了。当我计算一个 long 的十进制数字时,我意识到它实际上是 19。我最初认为它更少......