在我的应用程序中,我正在执行以下操作
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 条记录将回滚,而不是所有记录都会回滚。
任何人都可以确认这是否是正确的方法吗?
@Transaction(必需) 如果存在现有事务,将继续存在事务,如果不存在事务,则将创建一个事务。我认为在您的情况下,您可以使用@Transaction(REQUIRES_NEW),它将始终创建新事务。
在 EJB 事务的情况下,这解释了各种事务属性。