我的数据库中有一个包含以下字段的表
field1 of type NUMBER(38)
other fields
field2
的类型是 NUMBER(38)
现在我有一些 DAOS,它以对象的形式向我提供这个 fileld1 信息
Object field1Value
现在我需要将它转换成一个数据类型。它应该是哪个数据类型?在我的例子中它是 Integer
但为什么它被映射到 Integer,而不是 Long 或 BigDecimal?
整数是 32 位,但字段是 db 中的 NUMBER 38
最佳答案
你不应该转换任何东西。这就是 DAO 的作用 - 在数据库和应用程序代码之间架起一座桥梁。
您需要更改 DAO 以提供适当的数据类型。 BigInteger
将是最合适的,因为 long
只有 64 位精度,而 Oracle's number(38) datatype具有 126 位精度,并且您的字段没有小数部分。
关于java - 将数据类型从 DB 类型转换为 java 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12072198/