Транзакционность репозитория Spring JPAJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Транзакционность репозитория Spring JPA

Сообщение Anonymous »

1 небольшой вопрос о транзакционности репозиториев Spring JPA.
У меня есть служба, которая не помечена как транзакционная и вызывает метод репозитория Spring JPA

Код: Выделить всё

userRegistrationRepository.deleteByEmail(email);
И это определяется как

Код: Выделить всё

@Repository
public interface UserRegistrationRepository extends JpaRepository {

UserRegistration findByEmail(String email);

void deleteByEmail(String email);

}
Проблема в том, что происходит сбой: «Нет EntityManager с фактической транзакцией, доступной для текущего потока — невозможно надежно обработать вызов «удалить»; вложенное исключение — javax.persistence .TransactionRequiredException".

Хорошо, я могу решить эту проблему, отметив службу или deleteByEmail(..) как транзакционный, но я просто не могу понять, почему он сейчас выходит из строя. В документации Spring прямо указано, что «методы CRUD в экземплярах репозитория по умолчанию являются транзакционными.» (http://docs.spring.io/spring-data/jpa/d ... ence/html/# транзакции), но, видимо, это не так... Итак, относится ли это утверждение только к членам CrudRepository?

ps: это для Spring Data JPA 1.9 .4

Подробнее здесь: https://stackoverflow.com/questions/398 ... ctionality
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»