当前位置: 首页 > 面试题库 >

如何使用Hibernate获取最后插入的ID

商骞仕
2023-03-14
问题内容

我想在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。从中得到longValue()



 类似资料:
  • 我插入批量插入laravel 5像这样: 知道如何获取最后一个插入的id吗?

  • 问题内容: 我正在将PHP PDO与PostgreSQL一起用于新项目。 给定以下功能,如何返回刚刚插入的行的ID?它不像现在那样工作。 问题答案: 从手册: 根据基础驱动程序,返回最后插入的行的ID或序列对象的最后一个值。例如,PDO_PGSQL()要求您为name参数指定序列对象的名称。 应该是这样的: [编辑]更新文档链接

  • 问题内容: 我正在使用PHP中的mvc结构,我想检索最后插入的行ID。 我创建了以下sql代码: 但不幸的是我遇到了这个错误: 我也尝试过此堆栈链接,但不适用于我,因此如果您能帮助我获取ID,我将非常高兴。 我也在这里共享我的controller.php文件。 问题答案: 你快到了。 如果您查看lastInsertId的手册页,则会在数据库句柄上调用它- 您当前正在语句中对其进行调用。 您只需要致

  • 我想在Hibernate中获取最后一个插入值的id。 搜索后: 但是下面的代码给我这个错误: JAVAClassCastException:java。数学无法将BigInteger转换为java。朗·朗 请分享你的想法! 解决方案 不要忘记导入: 导入java.math.大整数;

  • 问题内容: 我目前正在使用以下代码在表中插入数据: 我想返回插入的最后一个ID,但我不知道如何获取它。 亲切的问候! 问题答案: 后 保存 ,应该是最后的ID插入。 可以这样使用。 对于更新的laravel版本,请尝试此

  • 问题内容: 我正在向表中插入一些数据,并且需要检索插入行的。表示是通过序列生成的,然后通过触发器插入到表中。 现在,我知道在使用时有几种方法来获取插入行的ID ,但是由于我正在执行命令,因此似乎无法弄清楚在插入数据后如何获取ID。任何建议将不胜感激。 问题答案: 这样的事情应该工作