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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM