Spring Data Jpa出现Not supported for DML operations

问题描述:在使用Spring Data Jpa的注解形式去配置删除sql语句,出现了下述异常:

org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations

Spring Data Jpa的注解形式去配置删除sql语句如下:

​@Query("delete from User where id=:idStr")
void delete(@Param("idStr") String idStr);

解决方法:

import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;

在上述sql配置上添加@Modifying注解

@Modifying​
@Query("delete from User where id=:idStr")
void delete(@Param("idStr") String idStr);

@Modifying 这个注解在JPA中经常出现,是为了通知jpa,这是一个update或者delete操作,在更新或者删除操作时,此注解必须加,否则就会抛出异常

猜你喜欢

转载自blog.csdn.net/y_bccl27/article/details/109637825