spring JPA @Query 执行修改sql语句

Spring Data JPA是更大的Spring Data系列的一部分,可以轻松实现基于JPA的存储库。此模块处理对基于JPA的数据访问层的增强支持。它使构建使用数据访问技术的Spring驱动应用程序变得更加容,这给我们带来方便快捷,但是也有一些坑,例如用 @Query修改数据

如果你用下面接口修改会报错

@Query(value = "update test SET stal = :stal  where id= :id", nativeQuery = true)
Integer updateBystal(@Param("stal")int stal, @Param("id")Integer id);

这样执行会报错,这事因为@Query是默认查询,不会执行修改语句,我们想要其执行修改语句,需要加上@Modifying注解,说明这个方法是修改,代码如下

@Modifying
@Query(value = "update test  SET stal = :stal  where id= :id", nativeQuery = true)
Integer updateBystal(@Param("stal")int stal, @Param("id")Integer id);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章