Spring Data JPA之删除和修改

2021-04-11 17:28

阅读:375

标签:modify   alter   mod   name   结果   long   自定义查询   modifying   dal   

一、分页查询

因为PagingAndSortingRepository,我们总是可以传入Sort和Pageable对查询结果进行排序和分页(支持命名查询、Example查询和Query查询)。

// 当查询方法中有多个参数的时候,Pageable/Sort建议做为最后一个参数传入

@Query("select u from User u")
Page findALL(Pageable pageable);

Page findByNickName(String nickName, Pageable pageable);

// 可以返回Page对象,也可以返回List对象

此外,JPA不支持Limit,请采用其他方法实现limit需求,https://stackoverflow.com/questions/44565820/what-is-the-limit-clause-alternative-in-jpql 

二、自定义查询

如涉及到删除和修改需要加上@Modifying,添加@Transactional支持事务,查询超时的设置等。

@Transactional(timeout = 10)
@Modifying
@Query("update User set userName = ?1 where id = ?2")
int modifyById(String  userName, Long id);

@Transactional
@Modifying
@Query("delete from User where id = ?1")
void deleteById(Long id);

 

Spring Data JPA之删除和修改

标签:modify   alter   mod   name   结果   long   自定义查询   modifying   dal   

原文地址:https://www.cnblogs.com/echo1937/p/13358344.html


评论


亲,登录后才可以留言!