Информация об изменениях

Сообщение Re: Вложенные транзакции от 14.04.2015 11:49

Изменено 14.04.2015 11:58 Blazkowicz

Здравствуйте, sgp, Вы писали:

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, и работать не через интерфейс, то прокси-объект не создается, и соответственно аннотация не работает.