Spring Data JPA插入

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章