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。

posted @ 2018-08-31 17:07  persistence_gc  阅读(220)  评论(0编辑  收藏  举报