Spring JPA不写sql实现limit查询功能
目前笔者收集到两种方式:
1、JPA默认没有直接支持limit,但我们可以使用JPA的分页+排序功能来实现limit的查询。代码如下:
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
//T 为model,需要有id字段,limit为指定的limit条数
public List<T> findByIdDescLimit(int limit){
return super.findAll(PageRequest.of(0,limit,Sort.by(Sort.Direction.DESC, "id"))).getContent();
}
2、写dao实现,继承JpaRepository
@Repository
public interface LongDao extends JpaRepository<LogDTO, Long>, JpaSpecificationExecutor<LogDTO> {
List<LogDTO> findOrderByIdDesc(@Param("id") Long id);
}
然后在对结果集进行取前多少个的处理。。。