【问题标题】:Can not execute delete operation by using deleteBy custom method in spring data repository在spring数据存储库中使用deleteBy自定义方法无法执行删除操作
【发布时间】:2019-08-20 11:22:15
【问题描述】:
当我尝试使用 spring 数据存储库中的 deleteBy() 自定义方法从我的服务类中删除数据时,它会出现以下错误。
javax.persistence.TransactionRequiredException: 没有 EntityManager 具有可用于当前线程的实际事务 - 无法可靠地处理“删除”调用
我尝试创建方法和服务类@Transactional。然后自动装配成员变为空。这些是在没有@Transactional 的情况下初始化的。
【问题讨论】:
标签:
java
spring
spring-transactions
【解决方案1】:
加载所有需要删除的数据。
getBYId(id);
并使用该集合执行 deleteAll() 操作。
这解决了问题。
【解决方案3】:
我遇到了同样的问题,但是在我只用 @Transactional 注释了方法之后,它起作用了。
@Repository()
interface UserRepository : CrudRepository<User, Long> {
@Transactional
fun deleteAllByCpf(cpf: String)
}
就我而言,我使用的是带有 Kotlin 的 Springboot。