Spring Data JPA之删除和修改
Posted 又是火星人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Data JPA之删除和修改相关的知识,希望对你有一定的参考价值。
一、分页查询
因为PagingAndSortingRepository,我们总是可以传入Sort和Pageable对查询结果进行排序和分页(支持命名查询、Example查询和Query查询)。
// 当查询方法中有多个参数的时候,Pageable/Sort建议做为最后一个参数传入 @Query("select u from User u") Page<User> findALL(Pageable pageable); Page<User> findByNickName(String nickName, Pageable pageable); // 可以返回Page<T>对象,也可以返回List<T>对象
此外,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之删除和修改的主要内容,如果未能解决你的问题,请参考以下文章
spring data jpa使用spring data jpa时,关于service层一个方法中进行删除和插入两种操作在同一个事务内处理