今天在校内项目的过程中,遇到了前端队友提出需求:
- 批量保存一组标签的数据
- 并将这些标签插入数据库时自增产生的id封装成数组返回
这里就涉及到一个,如何获取自增时自动赋值的Id的问题。
让我们先来了解一下save方法的执行过程
- 它会先将对象加入缓存,从而变为持久化对象
- 查看映射文件,并根据指定的生成器为持久化对象分配Id
- 计划执行一个insert语句,把对象当前的属性值组装到insert语句中
- 当session清理缓存的时候,执行sql语句将数据进行保存
通过上面对save方法执行过程的了解,我们可以发现,当执行完save语句后,对象是有Id的,因此我们可以通过执行完save方法后,可以使用getId()的方法来获取自增过程对象所获得的Id
// java代码:
@Override
public int createTag(Tag tag) {
Session session = sessionFactory.openSession<

本文介绍了在Hibernate中如何获取批量保存数据后,自增主键ID的方法。在理解save方法的执行过程后,可以在save操作完成后,立即使用getId()获取每个对象的自增ID。
最低0.47元/天 解锁文章
2854

被折叠的 条评论
为什么被折叠?



