2

我对spring data jpa很陌生。我正在尝试在查询数据库时使用规范。我的问题是使用 crudrepository 我们可以像这样:

findTopByUsernameOrderByUpdatedAtDesc(String username);

我怎样才能达到相同的使用规范?我可以做一些基本的事情,比如和或规范,但不像我们可以用标准等做的那样健壮。

Specification<CustomClass> spec = Specifications.where(specification).and(username);
List<CustomClass> list = findAll(spec);
4

2 回答 2

2

这样做如下:

 Pageable pageable = new PageRequest(0, 1, Sort.Direction.DESC, "username");
 Page oneElementPage = repository.findAll(spec, pageable);

这将按降序对用户名列上的数据进行排序并返回第一个结果。

于 2018-02-02T17:53:33.353 回答
0

你不能Specification直接用 a 来表达。但是您可以使用 a Pageable

Page oneElementPage = repository.findAll(spec, new PageRequest(0, 1));

给你Page一个单一的元素。

于 2018-01-05T13:00:36.277 回答