Я использовал метод удаления Spring Data JPA, но мне интересно, почему ни метод deleteById, ни метод delete не имеют возвращаемых значений.В реализации метода удаления есть оператор if, который, если удаляемый объект не существует, ничего не возвращает.
Код: Выделить всё
public void delete(T entity) {
Assert.notNull(entity, "Entity must not be null!");
if (entityInformation.isNew(entity)) {
return;
}
Class type = ProxyUtils.getUserClass(entity);
T existing = (T) em.find(type, entityInformation.getId(entity));
// if the entity to be deleted doesn't exist, delete is a NOOP
if (existing == null) {
return;
}
em.remove(em.contains(entity) ? entity : em.merge(entity));
}
Лично я считаю, что возврат логического значения может быть адекватным подходом в этом случае, поскольку уровень контроллера будет знать о статусе удаления, а уровень представления может быть предоставлен гораздо более надежное предупреждающее сообщение.
Подробнее здесь:
https://stackoverflow.com/questions/610 ... urn-values