在JOOQ中进行分页之前获取总行数吗?

问题描述 投票:0回答:1

我想知道在使用OFFSETLIMIT进行分页之前,是否存在更佳的从JOOQ查询中获取总行数的方法>

我们尝试使用JOOQ的合成SEEK子句,但是因为我们的ID是无序的UUID,所以它不起作用。

我们当前的实现是在设置偏移量和限制以获取结果/行数之前第一次执行两次查询。

然后我们在第二个查询中获得结果。

    SelectQuery<Record> select = context.selectQuery();
    select.addSelect(FOO_TABLE.fields());
    select.addFrom(FOO_TABLE);


    int totalElements = select.fetch().size();

    select.addOffset(20);
    select.addLimit(50));

    List<Foo> paginatedFoo = select.fetchInto(Foo.class);

这只是该实现/设计所必须接受的东西,还是有任何JDBC驱动程序魔术可以消除在数据库上执行两个查询的需要?

欢迎任何意见或建议!

我很想知道在使用OFFSET和LIMIT进行分页之前,是否存在从JOOQ查询中获取总行数的最佳方法。但是,由于...

java jdbc jooq
1个回答
0
投票
我们尝试使用JOOQ的合成SEEK子句,但是因为我们的ID是无序的UUID,所以它不起作用。
© www.soinside.com 2019 - 2024. All rights reserved.