@Query与@Modifying执行更新操作
@Query 与 @Modifying这两个annotation一起声明,可定义个性化更新操作,例如只涉及某些字段更新时最为常用,示例如下:
•注意:
–方法的返回值应该是int,表示更新语句所影响的行数
–在调用的地方必须加事务,没有事务不能正常执行
事务
•Spring Data 提供了默认的事务处理方式,即所有的查询均声明为只读事务。
•对于自定义的方法,如需改变 SpringData 提供的事务默认方式,可以在方法上注解@Transactional声明
•进行多个 Repository操作时,也应该使它们在同一个事务中处理,按照分层架构的思想,这部分属于业务逻辑层,因此,需要在Service 层实现对多个 Repository的调用,并在相应的方法上声明事务。