Я пытаюсь выполнить собственный запрос, который установит для поля в таблице значение NULL. Вот мой код:
@Modifying(flushAutomatically = true, clearAutomatically = true)
@Query(value = "UPDATE orders SET my_field = NULL", nativeQuery = true)
void deleteFields();
И в моем сервисе у меня есть этот метод:
@Override
public Boolean clearField() throws Exception {
this.orderRepository.deleteFields();
return true;
}
Когда я извиняюсь, я получаю это исключение:
18-05-2018 09:51:37.057 [http-nio-8083-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver.logException - Resolved exception caused by Handler execution: org.springframework.dao.InvalidDataAccessApiUsageException: No EntityManager with actual transaction available for current thread - cannot reliably process 'flush' call; nested exception is javax.persistence.TransactionRequiredException: No EntityManager with actual transaction available for current thread - cannot reliably process 'flush' call
Когда я добавляю аннотацию @Transaction (org.springframework.transaction.annotation.Transactional), я не получаю исключение, но ничего не происходит,поле не обновляется в базе данных