所有数据库似乎都有关于将各种整数数据类型映射到的Java对象的建议.例如,在DB2中,它是[SMALLINT:java.lang.Short,INTEGER:java.lang.Integer,BIGINT:java.lang.Long].
在Grails Domain类中为所有这些使用java.math.BigInteger是否有问题?它会使键入它们更简单,类似于十进制方法,其中一切都是java.math.BigDecimal.
为了澄清,我无法控制数据库中的数据类型,并且如果我这样做,则不会主张仅使用一种整数类型来破坏数据模型.我只是建议将所有整数数据类型映射到Grails Domain类中的java.math.BigInteger,如:
class NdIntegerTest {
    BigInteger id
    BigInteger ndSmallint
    BigInteger ndInteger
    BigInteger ndBigint
    ...
}
有一个原因,它存储在数据库中的数据.例如,如果你有一个用于存储人的年龄的用例,那么使用a是没有意义的BIGINT.在某些数据库引擎中,存储比a BIGINT占用更多的空间SMALLINT.显然,当您拥有数十亿条记录时,这会产生影响,但是当您拥有数千条记录时,这几乎无关紧要.
这就是原因.
建议,不要使用对您希望存储的数据类型不切实际的数据类型.从长远来看,你会发现你努力使事情变得同质化,从而在长期内产生问题.使用正确的工具来完成正确的工作,使用正确的数据类型来获得正确的数据.
| 归档时间: | 
 | 
| 查看次数: | 566 次 | 
| 最近记录: |