首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用hibernate在单个表中插入多个记录而不使用循环语句

问如何使用hibernate在单个表中插入多个记录而不使用循环语句
EN

Stack Overflow用户
提问于 2017-10-24 12:45:12
回答 1查看 1.1K关注 0票数 0

如何使用hibernate在单个表中插入多个记录而不使用循环语句

当我试图使用hibernate合并在一个表中插入多个记录时,我只得到一个记录插入。插入多个记录的解决方案是什么?

EN

回答 1

Stack Overflow用户

发布于 2017-10-24 18:28:37

您需要认识到,多个em.insert()调用不需要生成多个SQL查询。

Hibernate 3.x及以上

要启用批处理插入,应用某些配置约束:

  1. 将hibernate.jdbc.batch_size设置为介于10到50之间的整数。支持JDBC批处理。从技术上讲,它的工作原理是将插入/合并转换为批处理插入,而不是单个插入。
  2. 将hibernate.order_inserts和hibernate.order_updates设置为true。当您使用级联时,这有助于批处理。
  3. 确保您没有在实体ID上使用标识标识符生成器。永久禁用批插入。

有关Hibernate性能的更多信息,可以通过伟大的Vlad在这个博客上找到。

冬眠5.2及以上

Hibernate 5.2允许在持久性上下文级别上直接配置批大小:

entityManager.setJdbcBatchSize(10);

同样,关于弗拉德的博客的更多细节。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46910985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档