首页 > 代码库 > jpa 批量插入
jpa 批量插入
@Overridehttps://github.com/Alexey-/spring-boot-batch/blob/master/src/main/resources/application.properties
@Transactional
public <S extends E> List<S> save(Iterable<S> entities) {
List<S> result = new ArrayList<>();
if (entities == null) {
return result;
}
Iterator<S> iterator = entities.iterator();
int i = 0;
int count = 0;
//遍历循环 每20个(可以做成配置中读取) insert 批量插入一次库
while (iterator.hasNext()) {
S entity = iterator.next();
entityManager.persist(entity);
result.add(entity);
i++;
if (i % 20 == 0) {
entityManager.flush();
entityManager.clear();
count=0;
}else {
count++;
}
}
//判断 是否有剩余未flush的 最后flush
if (count>0){
entityManager.flush();
entityManager.clear();
}
return result;
}
jpa 批量插入
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。