猿问

带有分页的 Spring Data JPA 方法查询给了我一个错误

我正在使用 Spring Data Jpa 进行开发。我有一个扩展JpaRepository的接口,我想使用Query Method和分页进行查询。


我想查询“从作弊中选择 * 投票 <= 5”


我有一个简单的代码。该实体如下:


@Entity

@Table(name="cheat")

@DynamicInsert

@DynamicUpdate

@Data

@RequiredArgsConstructor(staticName="of")

public class Cheat implements Serializable{


    private static final long serialVersionUID = 1L;


    @Id

    @GeneratedValue(strategy=GenerationType.IDENTITY)

    @Column(name="cheat_seq", length=10)

    private Long cheatSeq;


    @Column(name="question", unique=true, nullable=false)

    private String question;


    @Column(name="answer", unique=true, nullable=false)

    private String answer;


    @Column(name="writer_ip", nullable=false)

    private String writerIP;


    @Temporal(TemporalType.TIMESTAMP)

    @Column(name="reg_date", nullable=false)

    private Date regDate;


    @Column(name="vote", nullable=false)

    private Long vote;


    @Column(name="bad_vote", nullable=false)

    private Long badVote;


}

存储库如下:


public interface CheatRepository extends JpaRepository<Cheat, Long>{

    Page<Cheat> findByVoteLessThan(int i, PageRequest page);

}

我查询:


PageRequest pgRequest = PageRequest.of(pageNo, 5, new Sort(Direction.DESC, "regDate"));

cheatRepository.findByVoteLessThan(5, pgRequest);

它说只有 1 个参数存在。当然,我只是为投票 <= 5和分页信息提供“5”值。什么地方出了错??

编辑

我找到了正确答案。在repository类中,参数PageRequest是错误的。它是可分页的。


动漫人物
浏览 150回答 1
1回答

HUX布斯

您需要在存储库方法中使用 aPageable而不是 aPageRequestfindByVoteLessThanPage<Cheat> findByVoteLessThan(int i, Pageable pageable);Pageable pg = PageRequest.of(pageNo, 5, Sort.Direction.DESC, "regDate");
随时随地看视频慕课网APP

相关分类

Java
我要回答