@Query与@Modifying执行更新操作
@Query 与 @ Modifying 这 两 个 annotation 一起声明,可定义个性化更新操作,例如只涉及某些字段更新时最为常用,示例如下:
这个注解是通知jpa,这是一个update或者delete操作,在更新或者删除操作时,此注解必须加,否则会抛出下面异常
org.springframework.dao.InvalidDataAccessApiUsageException
@Modifying //通知jpa这是一个update或者delete操作,jpql不支持insert操作
@Query("update Account set name=:name, money=:money,version=:version+1 where id=:id and version=:version")
int updateAccountByVersion(@Param("id") int id,@Param("name") String name, @Param("money") double money,@Param("version") int version);
必须加事务,不加事务,会报下面错