把bigint扔得很久

时间:2011-04-05 14:51:51

标签: java database exception casting

我从数据库中获取数据。我得到classcastexception。 在数据库中,我的id保存为BIGINT,但在代码(对象)中,它很长。 将bigint转换为long时有什么问题吗?

3 个答案:

答案 0 :(得分:8)

您是否尝试先将值转换为BigInteger,然后使用longValue()获取long值?它应该工作。并且aioobe是对的,也检查空值。

喝彩!

答案 1 :(得分:4)

如果这是MySql,您应该使用java.math.BigDecimal

请参阅Java, JDBC and MySQL Types上的表格。

enter image description here

答案 2 :(得分:0)

我收到错误java.math.BigInteger cannot be cast to java.lang.Long是因为在使用Spring Data本机查询进行查询时得到了 BigInteger ,所以我已经使用下面的代码解决了。

((BigInteger)nativeQuery.getSingleResult()).longValue()