学习Spring JPA时报的Not supported for DML operations 错误

  • 在运行JPA修改数据代码报 Not supported for DML operations 错误
    @Query(value = "update User user set user.address = :address where user.id = :id ")
    void findByUpdateUser(@Param("id") int id,@Param("address") String address);

解决办法就是在上面加上@Modifying 修改注解

    @Modifying
    @Query(value = "update User user set user.address = :address where user.id = :id ")
    void findByUpdateUser(@Param("id") int id,@Param("address") String address);

运行上面代码你会发现又会报“Executing an update/delete query”的错,这时你只需要你的在业务类Service类上面@Service注解那添加事务注解@Transactional就OK了

这个问题就完美的解决了

你可能感兴趣的:(spring)