В основном вы хотите максимально использовать возможности производных запросов Spring Data JPA
s!Вы определенно не хотите писать свой собственный шаблонный код, потому что он полностью отрицает цель Spring Data JPA
!
Удалить
Лучший (и самый чистый) способсделать это, чтобы Spring Data JPA
получил запрос для вас:
public interface EmployeeRepository extends CrudRepository<Employee, Long> {
Long deleteByIdIn(List<Long> employeeIdsToDelete);
}
См. этот ответ .
Обновление
Обновления могут быть выполнены следующим образом:
@Modifying
@Query("update Employee empl set empl.param =:param where empl.id =:emplId")
void updateEmployees(@Param("emplId") Long emplId, @Param("param") paramValue);
И в противном случае можно выполнить комбинацию поиска и изменения (вероятно, в методе Service
:
public void myEmployeeServiceUpdateMethod(List<Long> emplIds) {
List<Employee> employees = employeeRepository.findByIdIn(emplIds);
employees.forEach(empl -> empl.setParam("NewParam!");
}
И Spring JPA автоматически сбросит и обновит эти значения для вас!
См. этот ответ .
Создать
Создает, что вы уже делаете правильно. Просто передайте список новых сущностей на #save
.