如何使用hibernate在单个表中插入多个记录而不使用循环语句
当我试图使用hibernate合并在一个表中插入多个记录时,我只得到一个记录插入。插入多个记录的解决方案是什么?
发布于 2017-10-24 18:28:37
您需要认识到,多个em.insert()调用不需要生成多个SQL查询。
Hibernate 3.x及以上
要启用批处理插入,应用某些配置约束:
hibernate.jdbc.batch_size设置为介于10到50之间的整数。支持JDBC批处理。从技术上讲,它的工作原理是将插入/合并转换为批处理插入,而不是单个插入。hibernate.order_inserts和hibernate.order_updates设置为true。当您使用级联时,这有助于批处理。有关Hibernate性能的更多信息,可以通过伟大的Vlad在这个博客上找到。
冬眠5.2及以上
Hibernate 5.2允许在持久性上下文级别上直接配置批大小:
entityManager.setJdbcBatchSize(10);
同样,关于弗拉德的博客的更多细节。
https://stackoverflow.com/questions/46910985
复制相似问题