jpa使用过程中出现问题记录[持续更新]
1、自定义JPQL语句,出现Not supported for DML operations 错误。
解决方案:在@Query注解上面加上@Modifying注解。
//出现问题的代码 @Query("delete from SysDept t where t.id =:id") void delSysDept(@Param("id")String id);
//修改后的代码 @Modifying @Query("delete from SysDept t where t.id =:id") void delSysDept(@Param("id")String id);
总结:可以通过自定义的 JPQL 完成 UPDATE 和 DELETE 操作,在 @Query 注解中编写 JPQL 语句,但必须使用 @Modifying 进行修饰,以通知SpringData,这是一个 UPDATE 或 DELETE 操作。
注:JPQL 不支持使用 INSERT。