JpaSaveAll source

@Transactional @Override public <S extends T> List<S> saveAll(Iterable<S> entities) { Assert.notNull(entities, "Entities must not be null!" ); List<S> result = new ArrayList<S>(); For (entities) {for (entities) {for (entities) {for (entities) {for (entities) {for (entities); } return result; } @Transactional @Override public <S extends T> S Save (S Entity) {}} @Transactional @Override public <S extends T> S Save (S Entity) (entityInformation.isNew(entity)) { em.persist(entity); return entity; } else { return em.merge(entity); }}

6.4.1 Bulk inserts

The solution is to do your own persistent insert with em, saving you a query.


private EntityManager entityManager;


@Transactional(rollbackFor = Exception.class)

public void addBatch(List list) {

for (ProjectApplyDO projectApplyDO : list) {

entityManager.persist(projectApplyDO); //insert insert operation





6.4.2 Batch Update

EntityManager.persist (ProjectApplyDo) above can be replaced by the following code if you are making sure that the data already exists; Statement:

entityManager.merge(projectApplyDO); //update operation