Re: Сколько транзакций и записей в БД будет?
От: vsb Казахстан  
Дата: 05.10.23 11:36
Оценка: 3 (1)
Здравствуйте, Aleksei_Lekomtsev, Вы писали:

A_L>Сколько транзакций и записей в БД будет?


Те, которые успели закоммититься — останутся. Остальные — нет. Отката уже закоммиченных вложенных транзакций не будет.

A_L>П.C. Правильно я понимаю что для store нельзя использовать private модификатор, так как proxy объект(который создается из-за Transactional annotation) не сможет к этому методу обраться?(т.е. там не reflection?)


Твой код скорей всего вообще работать не будет. То бишь при вызове store эта аннотация не будет приниматься во внимание. Чтобы он работал, тебе надо сделать что-то вроде

@Component
public class Dao {

    @Autowired Dao self;

    @Transactional(propagation = Propagation.REQUIRES_NEW)
    public void storeAll(List<Integer> list) throws Exception {
        for (var i : list) {
            self.store(i);
        }
    }


Ну или вынести метод store в отдельный класс.
Отредактировано 05.10.2023 11:37 vsb . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.