spring数据的分页和规范使用

qacovj5a  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(402)

我正在尝试将分页添加到事务中
这下soltuion工程非常好

List<AccountTransactions> products = accountTransactionRepository.findAll(specification);

int skip = (page - 1) * ps;

List<AccountTransactionDto> transactionDtos =
        AccountTransactionMapper.toAccountTransactionDtoList(products).stream()
                .skip(skip).limit(ps).collect(Collectors.toList());

但在第一篇文章中,我尝试使用spring数据作为建议。另一个原因是我认为usignstream会导致性能问题。
存储库类

@Repository
public interface AccountTransactionRepository extends PagingAndSortingRepository<AccountTransactions, Integer>,
        JpaSpecificationExecutor<AccountTransactions> {
}

服务实现。班

Pageable pageable = PageRequest.of(1, 5);

Page<List<AccountTransactions>> products = accountTransactionRepository.findAll(specification,pageable);

但这会返回一个错误

Required type:
List
<AccountTransactions>
Provided:
Page
<AccountTransactions>

我想我需要返回page作为返回类型。
当我将其转换为页面时,它工作,但返回错误的结果。
另外,你是否知道什么是最好的方式,关于性能的观点?

6pp0gazn

6pp0gazn1#

findAll 默认情况下,返回页示例。因此,您必须更正以下行:

Page<List<AccountTransactions>> products = accountTransactionRepository.findAll(specification,pageable);

Page<AccountTransactions> products = accountTransactionRepository.findAll(pageable);

相关问题