在我的申请中,我正在做以下
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
我认为我需要在第6行使用@Transaction(REQUIRED)
这样只有10条记录才会回滚,而不是所有记录都会回滚。
有人可以确认这是否是正确的方法?
答案 0 :(得分:0)
@Transaction(REQUIRED)将继续现有交易(如果存在),并且如果不存在交易则将创建交易。我认为在你的情况下你可以使用@Transaction(REQUIRES_NEW)来创建一个新的交易。
如果是EJB事务this解释了各种事务属性。