如何在Spring中的PageRequest中使用where子句?

时间:2017-08-05 12:37:02

标签: hibernate spring-boot spring-data-jpa

我迷失了尝试过滤PageRequest

我的Object StatusUpdate具有可以为null的属性:

@ManyToOne
@JoinColumn(name="group_id", nullable=true)
private Group group;

我有我的控制器:

Page<StatusUpdate> page = statusUpdateService.getPage(pageNumber);

我想修改的服务:

    public Page<StatusUpdate> getPage(int pageNumber) {
    PageRequest request = new PageRequest(pageNumber-1, pageSize, Sort.Direction.DESC, "added");
    return statusUpdateDao.findAll(request);
}

我想修改它,以便它可以像现在一样对结果进行分页,但不包括我的属性Group为NULL的那些结果。

如何在我的....中包含一个过滤器:PageRequest request = new PageRequest(pageNumber-1,pageSize,Sort.Direction.DESC,&#34;添加&#34;)?我想在那里...我需要看一个例子(我在这里找不到它:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repositories.special-parameters

由于

1 个答案:

答案 0 :(得分:0)

Haven没试过,但试试

@Repository
public interface StatusUpdateDao extends CrudRepository<StatusUpdate, Long> {
     Page<StatusUpdate> findByGroupIsNull(Pageable pageable);
}

对于更复杂的查询,我建议QueryDSL