我正在尝试在CrudRepository接口(interface)上实现事务。我是一个初学者,当前的问题是,当收到来自不同客户端的大量请求时,有时会得到重复。
为了避免这种情况,我想在Spring中使用SQL Transactions及其实现,但是我无法使其正常工作。

这是我尝试执行的操作:

@Repository
@EnableTransactionManagement
@Transactional
public interface ApplicationPackageDao extends CrudRepository<ApplicationPackage, Long> {

/**
 * Find if a record exists for this package name ,
 * @param packageName
 * @return
 */
@Transactional
ApplicationPackage findByPackageName(String packageName);

}

但是,它似乎不起作用。
我试图在我正在调用的Java方法中早些时候添加@Transactionnal批注,但是我也无法使其正常工作。

我应该如何在CrudRepository上处理事务?
还是我使用的是完全错误的东西?

最佳答案

我的建议:

使用@Configuration批注检查上下文和配置类。从documentation:



然后,即使在某种方法中,您也可以在服务中使用@Transactional

希望能帮助到你

09-27 23:45