Java 事务不应回滚所有记录(如果失败)



在我的应用程序中,我正在执行以下操作

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 事务的情况下,这解释了各种事务属性。

相关内容

最新更新