【问题标题】: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() 操作。 这解决了问题。

    【讨论】:

      【解决方案2】:

      你必须先加载对象

      【讨论】:

        【解决方案3】:

        我遇到了同样的问题,但是在我只用 @Transactional 注释了方法之后,它起作用了。

        @Repository()
        interface UserRepository : CrudRepository<User, Long> {
        
            @Transactional
            fun deleteAllByCpf(cpf: String)
        }
        

        就我而言,我使用的是带有 Kotlin 的 Springboot。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-01-05
          • 2021-11-22
          • 2014-10-22
          • 2018-02-09
          • 2015-05-10
          • 2019-06-25
          • 2017-06-18
          • 1970-01-01
          相关资源
          最近更新 更多