MySQL BIGINT转换为Java Long

时间:2017-10-29 10:01:57

标签: java mysql jpa casting bigint

为什么bigint类型的MYSQL列无法转换为Java Long?

当使用JPA.em()。createNativeQuery(“select ...”)。getResultList()并且select结果是bigint类型的列时,你不能将结果赋值给Long变量。

强制转换会导致运行时异常 “java.lang.ClassCastException:java.math.BigInteger无法强制转换为java.lang.Long”

这当然可以通过使用bigInteger变量然后使用“.longValue()”来解决。

我试图了解这个错误的根本原因是什么。

它们都是Long和bigint,都是8字节符号。

(对于mySql:https://dev.mysql.com/doc/refman/5.5/en/integer-types.html

(对于java:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

根据不同的来源,Long是MYSQL bigint的等效java数据类型。 (http://openwritings.net/content/public/java/mapping-java-and-mysql-data-types),

是什么让一个人与另一个人区别开来并使演员阵容变得不可能?

使用Java 7和MySql 5.5.57

0 个答案:

没有答案