当我尝试使用spring数据存储库中的deleteBy()自定义方法从服务类中删除数据时,会出现以下错误。
javax.persistence.TransactionRequiredException:没有用于当前线程的具有实际事务的EntityManager-无法可靠地处理“删除”调用
我尝试使用方法和服务类@Transactional。然后,自动装配成员将为空。这些是在没有@Transactional的情况下初始化的。
答案 0 :(得分:1)
加载所有需要删除的数据。 getBYId(id); 并使用该集合执行deleteAll()操作。 这样就解决了问题。
答案 1 :(得分:1)
您必须先加载对象
答案 2 :(得分:0)
我遇到了同样的问题,但是我只用@Transactional
注释了该方法后,它才起作用。
@Repository()
interface UserRepository : CrudRepository<User, Long> {
@Transactional
fun deleteAllByCpf(cpf: String)
}
就我而言,我在Kotlin中使用Springboot。