我想在Hibernate中获取最后插入的值的ID。
搜索后:
Long lastId = ((Long) session.createSQLQuery("SELECT LAST_INSERT_ID()").uniqueResult()).longValue();
但是以下代码给了我这个错误:
java.lang.ClassCastException:无法将java.math.BigInteger强制转换为java.lang.Long
请分享您的想法!
解
Long lastId = ((BigInteger) session.createSQLQuery("SELECT LAST_INSERT_ID()").uniqueResult()).longValue();
不要忘记导入:
导入java.math.BigInteger;
错误很明显。它回来了BigInteger而不是long
BigInteger
long
您必须将其分配给BigInteger。从中得到longValue()。
longValue()