Spring Data JPA插入

save方法是面向业务的,每次插入都需要验证当前数据是否为新数据,

    @Transactional
    public  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等方法。

你可能感兴趣的:(SpringDataJPA)