![](/img/trans.png)
[英]How to override a delete method on a Spring Data CrudRepository?
[英]Is the CrudRepository .delete() method transactional?
使用Spring-data时,可以扩展CrudRepository 。
这个Repositories .delete()
方法如何在“引擎盖下”工作?
此外,这种方法是Transactional
吗? 如果是这种情况,在使用Spring-data
时是否需要使用@Transactional
注释。
例如,这里需要@Transactional
吗? :
扩展CrudRepository:
public interface PersonRepository extends CrudRepository<Person, Integer> {
}
在服务类中使用delete方法:
@Transactional
public void deletePerson(Person person) {
personRepository.delete(person);
}
编辑: @Transactional
如何在这里工作?
@Transactional
public void deletePersonAndTable(Person person, Table table) {
personRepository.delete(person);
tableRepository.delete(Table);
}
您不需要自己添加@Transactional注释。
来自https://spring.io/blog/2011/02/10/getting-started-with-spring-data-jpa/ :
此外,我们可以删除方法的@Transactional注释,因为Spring Data JPA存储库实现的CRUD方法已经使用@Transactional注释。
但是你应该在你的DOA中添加一个,如果你想要执行一些只能一起执行或根本不执行的操作(这就是交易的目的)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.