Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Spring Data JPA中的单个事务中保存、删除和更新_Java_Jpa_Spring Data Jpa_Spring Data_Spring Transactions - Fatal编程技术网

Java 在Spring Data JPA中的单个事务中保存、删除和更新

Java 在Spring Data JPA中的单个事务中保存、删除和更新,java,jpa,spring-data-jpa,spring-data,spring-transactions,Java,Jpa,Spring Data Jpa,Spring Data,Spring Transactions,我有以下方法: @Transactional public void saveUpdateAndDelete(Entity newEntity、Entity updatedEntity、long deleteEntityId){ entityRepository.save(newEntity); entityRepository.findById(updatedEntity.getId()) .ifPresent(e->e.setName(updatedEntity.getName)); ent

我有以下方法:

@Transactional
public void saveUpdateAndDelete(Entity newEntity、Entity updatedEntity、long deleteEntityId){
entityRepository.save(newEntity);
entityRepository.findById(updatedEntity.getId())
.ifPresent(e->e.setName(updatedEntity.getName));
entityRepository.deleteById(deleteEntityId);
}
如何确保
saveUpdateAndDelete
方法中的所有语句都将在单个事务中执行


编辑:这个问题的目的是解决一些实现问题,而不是关于Spring如何通过创建代理类来处理
@Transactional
,下面对此进行了解释:

正如@JB Nizet在他的评论中所说的那样,这正是
@Transactional
的目的,因此它将全部集中在一个事务中。
但是请确保从另一个bean而不是同一类中的另一个方法调用该方法!正如您已经指出的,事务性在那时不起作用

您可能的重复已经回答了您自己的问题:通过使用Transactional注释您的方法并从另一个Springbean调用它。你还想知道什么。具体的实施问题是什么?