码迷,mamicode.com
首页 > 其他好文 > 详细

jpa 批量插入

时间:2017-08-07 13:47:48      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:space   tran   ace   lob   iter   遍历   插入   nsa   ret   

@Override
@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;
}
https://github.com/Alexey-/spring-boot-batch/blob/master/src/main/resources/application.properties

jpa 批量插入

标签:space   tran   ace   lob   iter   遍历   插入   nsa   ret   

原文地址:http://www.cnblogs.com/wangdaijun/p/7298321.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!