@Transactional @Override public void deleteAll(Iterable<? extends T> entities) { Assert.notNull(entities, "The given Iterable of entities not be null!"); for (T entity : entities) { delete(entity); } }
@Transactional @Override public void deleteAll() { for (T element : findAll()) { delete(element); } }
@Transactional @Override public void deleteById(ID id) { Assert.notNull(id, ID_MUST_NOT_BE_NULL); delete(findById(id).orElseThrow(() -> new EmptyResultDataAccessException( String.format("No %s entity with id %s exists!", entityInformation.getJavaType(), id), 1))); }
@Override public void delete(ID id) { delegate.delete(id); }
@Override public void delete(Iterable<? extends T> entities) { delegate.delete(entities); }
@Override public void delete(T entity) { delegate.delete(entity); }
/** * 数据删除操作 * * @param entity 待操作数据 */ @Transactional public void delete(T entity) { jpaRepository.delete(entity); }
@Transactional public void deleteAll(Iterable<? extends T> entities) { Assert.notNull(entities, "The given Iterable of entities not be null!"); for (T entity : entities) { delete(entity); } }
@Transactional public void deleteAll() { for (T element : findAll()) { delete(element); } }
@Override @Transactional public void delete(final I id) { findOne(id); super.delete(id); } }
@Override @Transactional public void deleteByCode(String code) { super.delete(getByCode(code)); entityManager.flush(); }
@Override @Transactional public void deleteById(long id) { super.delete(getById(id)); entityManager.flush(); }
@Transactional public void deleteById(ID id) { Assert.notNull(id, ID_MUST_NOT_BE_NULL); delete(findById(id).orElseThrow(() -> new EmptyResultDataAccessException( String.format("No %s entity with id %s exists!", entityInformation.getJavaType(), id), 1))); }
/** * 删除实体 * * @param entity 实体 */ @Transactional @Override public void delete(final M entity) { if (entity == null) { return; } if (entity instanceof DeletedRecordable) { ((DeletedRecordable) entity).setDeleted(Boolean.TRUE); save(entity); } else { super.delete(entity); } }
/** * 数据删除操作 * * @param entity 待操作数据 */ @Transactional @Override public void delete(T entity) { Validation.isTrue(!entity.hasChildren(), "只允许删除子节点"); //记录删除对象的左右值 Integer left = entity.getLft(); Integer right = entity.getRgt(); //先删除当前对象 jpaRepository.delete(entity); entityManager.flush(); //删除节点后,移动右侧节点。注意此算法需要确保已递归删除所有子节点,如果出现孤儿节点情况则会有问题。 int width = right - left + 1; Query update1 = entityManager.createQuery("update " + entityName + " set rgt = rgt - :width where rgt > :rightParam"); Query update2 = entityManager.createQuery("update " + entityName + " set lft = lft - :width where lft > :rightParam"); update1.setParameter("rightParam", right); update2.setParameter("rightParam", right); update1.setParameter("width", width); update2.setParameter("width", width); int cnt1 = update1.executeUpdate(); int cnt2 = update2.executeUpdate(); } }
@Override @Transactional public void delete(T entity) { for (OrmDeleteInterceptor<T,JpaSupportRepository<T, ID>> interceptor : deleteInterceptors) { ID id = ReflectionUtils.invokeGetterMethod(entity, getIdName()); if (!interceptor.onDelete(id, entity, this)) { return ; } } super.delete(entity); for (OrmDeleteInterceptor<T,JpaSupportRepository<T, ID>> interceptor : deleteInterceptors) { ID id = ReflectionUtils.invokeGetterMethod(entity, getIdName()); interceptor.onPostDelete(id, entity, this); } }