Spring data jpa删除元素时必须先查询出来吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring data jpa删除元素时必须先查询出来吗相关的知识,希望对你有一定的参考价值。

参考技术A 您好,很高兴为您解答。

看一下这个:http://www.oschina.net/question/590542_137577

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

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删除元素时必须先查询出来吗

Spring data jpa删除元素时必须先查询出来吗

spring data jpa 能不能只返回一个字段的值,而不是整个对象

Spring Data JPA 简单查询

为啥手动定义的 Spring Data JPA 删除查询不会触发级联?