save方法是面向业务的,每次插入都需要验证当前数据是否为新数据,
@Transactional public <S extends T> S save(S entity) { if (this.entityInformation.isNew(entity)) { this.em.persist(entity); return entity; } else { return this.em.merge(entity); } }
注意源码中isNew方法,所以如果是批量插入请勿使用save方法,可以使用EntityManager的persist,使用这个方法也要注意在适当的时候flush。
也可以使用JdbcTemplate,执行批处理操作,如batchUpdate,saveAll等方法。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232996.html原文链接:https://javaforall.net