Сообщение Re: Вложенные транзакции от 14.04.2015 11:49
Изменено 14.04.2015 11:58 Blazkowicz
Здравствуйте, sgp, Вы писали:
sgp>Добрый день, коллеги!
sgp>Попробовал Spring Data JPA. Столкнулся с следующей проблемой.
sgp>После выполнения метода testTransaction, в БД появляется новая запись. Я ожидал, что транзакция будет откачена.
sgp>
sgp>Правильно ли я понимаю, что методы JpaRepository всегда выполняются во вложенной транзакции и результаты выполнения этих методов фиксируются независимо от внешней транзакции?
sgp>Спасибо!
А как данный метод вызывается? Насколько я помню, если создавать объект напрямую, не через Spring, и работать не через интерфейс, то прокси-объект не создается, и соответственно аннотация не работает.
sgp>Добрый день, коллеги!
sgp>Попробовал Spring Data JPA. Столкнулся с следующей проблемой.
sgp>После выполнения метода testTransaction, в БД появляется новая запись. Я ожидал, что транзакция будет откачена.
sgp>
sgp>public class TestService {
sgp> @Autowired
sgp> private JpaRepository<User, String> userRepository;
sgp> @Transactional
sgp> void testTransaction(){
sgp> User user = new User("Tom");
sgp> userRepository.save(user);
sgp> throw new RuntimeException("Test exception");
sgp> }
sgp>}
sgp>sgp>Правильно ли я понимаю, что методы JpaRepository всегда выполняются во вложенной транзакции и результаты выполнения этих методов фиксируются независимо от внешней транзакции?
sgp>Спасибо!
А как данный метод вызывается? Насколько я помню, если создавать объект напрямую, не через Spring, и работать не через интерфейс, то прокси-объект не создается, и соответственно аннотация не работает.
Re: Вложенные транзакции
Здравствуйте, sgp, Вы писали:
А как данный метод вызывается? Насколько я помню, если создавать объект напрямую, не через Spring, и работать не через интерфейс, то прокси-объект не создается, и соответственно аннотация не работает.
А как данный метод вызывается? Насколько я помню, если создавать объект напрямую, не через Spring, и работать не через интерфейс, то прокси-объект не создается, и соответственно аннотация не работает.