Hibernate 返回自动生成新插入行的 id
Posted
技术标签:
【中文标题】Hibernate 返回自动生成新插入行的 id【英文标题】:Hibernate return auto-generate id of a newly inserted row 【发布时间】:2011-11-18 13:21:03 【问题描述】:我正在使用 HibernateTemplate 在我的 Spring 应用程序中访问数据库。 HibernateTemplate 中是否有任何方法/方法可以返回自动生成的 id 对于我新插入的行?在我的例子中,自动生成的值是我的表的主键,它被定义为数据库内部的自动增量。
更多信息,我使用 saveOrUpdate() 方法插入数据。
【问题讨论】:
【参考方案1】:当您使用 saveOrUpdate()
保存对象时,如果是创建操作,对象 id
字段将使用自动生成的 id
进行更新。因此,您可以简单地检索已保存对象的id
属性以获取自动生成的 id。
【讨论】:
您能否扩展您的答案以说明它是如何在 mysql 中执行的?我在探查器中看不到任何选择 LAST_INSERT_ID()(当我连接到 SQL Server 时,我看到了 scope_identity())。 对象对象=新对象; // object.getId() == null saveOrUpdate(object); object.getId() == 插入的 id以上是关于Hibernate 返回自动生成新插入行的 id的主要内容,如果未能解决你的问题,请参考以下文章
Android Room - 通过自动生成获取新插入行的 id