Использование Spring Data JPA У меня есть следующий поток внутри той же самой транзакции (REQUIRES_NEW):Вставить после удаления одной транзакции в Spring Data JPA
Удалить набор предсказаний пользователя с этим методом хранилища Spring Data JPA.
@Query(value = "DELETE FROM TRespuestaUsuarioPrediccion resp WHERE resp.idEvento.id = :eventId AND resp.idUsuario.id = :userId") @Modifying void deleteUserPredictions(@Param("userId") int userId, @Param("eventId") int eventId);
Включить предсказания нового пользователя и сохранить главный объект (событие).
eventRepository.save(event);
Когда эта служба заканчивается, коммит производится АОП, но работает только в первой attemp ... не в ближайшие из них ...
Как я могу справиться с этой ситуацией, не итерация над записями предсказаний события и обновляя каждый из них внутри?
UPDATE
Я пытался с этим, и он не работает (адаптер вставляет объекты я смывать перед):
@Transactional(propagation=Propagation.REQUIRES_NEW, rollbackFor=PlayTheGuruException.class)
private void updateUserPredictions(final TUsuario user, final TEvento event, final SubmitParticipationRequestDTO eventParticipationRequestDTO)
{
eventRepository.deleteUserPredictions(user.getId(), event.getId());
EventAdapter.predictionParticipationDto2Model(user, event, eventParticipationRequestDTO);
eventRepository.save(event);
}
Как насчет этой части «совершение совершается АОП»? Я не понимаю. – TheKojuEffect
Я подразумеваю, что транзакция начинается непосредственно перед запуском метода, потому что я отмечен как транзакционный (REQUIRES_NEW) и заканчивается, когда выполняется оператор последнего метода. Извините Если я ошибаюсь ... –
Как упоминалось в этом ответе на аналогичный вопрос [http://stackoverflow.com/a/37030089/4261642](http://stackoverflow.com/a/37030089/4261642), там это открытый билет по этой проблеме: [https://jira.spring.io/browse/DATAJPA-727](https://jira.spring.io/browse/DATAJPA-727) – maniacmic