В моей заявке я делаю следующее
1. Getting 25 records from the DB.
2. Update every 10 records
Here I have a loop to update every 10 records.so there will be 3 loops.
For each loop I need to have a new transaction.(so that only the 10 record will rollback and not all the records will rollback)
//line 1
getRecords();//25 records from DB //line 2
For(Records r: loop) { //line 3
add 10 records; //line 4
call update method(object with 10 records) //line 5
}
//line 6
updateRecords()//this method updates the 10 records\\line 7
Здесь я думаю, что мне нужно использовать @Transaction (REQUIRED) в строке 6. так, что только 10 записей будут откатываться, а не все записи будут откатываться.
Может ли кто-нибудь подтвердить, правильно ли это?
Убедитесь, что аннотация @Transactional
установлена на общедоступном методе. Видеть
http://forum.spring.io/forum/spring-projects/data/49494-transactional-on-private-methods
а также
Использует ли атрибут Spring @Transactional собственный метод?
Если updateRecords() является частным методом, аннотация не будет работать.