JPA事务问题Executing an update/delete query

如果JPA提示Executing an update/delete query,那是一定是因为Service层没有加@Transactional和再方法加@Modifying吧。

异常场景

spring-boot2+jpa执行新增修改删除操作时:

public interface UserRepository extends JpaRepository<User , Integer>{

    @Modifying
    @Query(value="update User c set c.state = ?1,c.lastupdatetime = ?2 where c.user_no= ?3")
    void updateUser(int state,Date nowDate,String user_no);

}

异常: Executing an update/delete query

解决方案

因为jpa要求,’没有事务支持,不能执行更新和删除操作’。

所以反过来讲,就是在Service层或者Repository层上必须加@Transactional,来代表这是一个事务级别的操作,增删改查除了查都是事务级别的,就当这是一个规范也是ok的。

你可能感兴趣的:(Spring,SpringBoot2启示录)