jpa查询指定数目的记录

jpa查询指定数目的记录_第1张图片
这里表示我们查询Type里面的三条记录

  1. TypeServiceImpl.java
@Override
    public List<Type> listTypeTop(int size) {
        Sort sort = Sort.by(Sort.Direction.DESC,"news.size");
        Pageable pageable = PageRequest.of(0,size,sort);
        return typeRepository.findTop(pageable);
    }

sort表示排序方式,这里的意思是根据type里面的news列表的长度进行倒序排序,也就是list长的在前面。然后声明一个pageable的对象,其中0表示对一页,size表示这一页的数据量,sort为排序方式。然后将pageable传入findTop.

  1. TypeRepository.java
package com.zhongruan.repository;

import com.zhongruan.entity.Type;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;

import java.util.List;

public interface TypeRepository extends JpaRepository<Type,Long> {
    Type findByName(String name);

    Type findById(long id);

    @Query("select t from Type t")
    List<Type> findTop(Pageable pageable);
}

由于这是自己声明的方法,需要写好查询语句,@Query(“select t from Type t”)表示是从Type里面查询的记录。

你可能感兴趣的:(jpa,java)