Java 跨3个模式的一个事务?

Java 跨3个模式的一个事务?,java,oracle,transactions,entity,entitymanager,Java,Oracle,Transactions,Entity,Entitymanager,我已经创建了一个Java应用程序,可以从我的Oracle数据库中删除数据 应用程序删除3个架构中的行: public class ServiceThree { public void loopThroughDeletesAtProjectLevel(List<EntityToDelete> entityList) { for (int i = 0; i < entityList.size(); i++) {

我已经创建了一个
Java
应用程序,可以从我的
Oracle
数据库中删除数据

应用程序删除3个架构中的行:

public class ServiceThree {     

    public void loopThroughDeletesAtProjectLevel(List<EntityToDelete> entityList) {

            for (int i = 0; i < entityList.size(); i++) {

                serviceOne.deleteFromSchemaOne(\);
                serviceTwo.deleteFromSchemaTwo(entityList.get(i));
                deleteFromSchemaThree(entityList.get(i));
            }   
        }

    }

如何确保在ONE
事务中删除这三个模式中的所有数据,即如果这三个模式中的任何一个出现错误,那么它将
回滚

我从来没有这样做过,但我模糊地记得应该可以使用。不要在每个过程中启动事务。相反,在调用第一个过程之前启动事务,并在最后一个过程之后提交它。祝你好运。你需要一个重量级的,可能是外部事务管理器。它们是可用的,但设置起来并不简单。@chrylis您能详细说明一下这是什么意思吗?
public void deleteFromSchemaOne(){

repositoryOne.startTransaction();

//logic to carry out deletions 
repositoryOne.deleteAllRelevantData(EntityToDelete);

repositoryOne.commitTransaction();
}