我正在使用spring数据的分页功能来限制记录获取。我在数据库中有500多个条目,但我只想获取5个条目,但它不能正确返回。大多数情况下,它返回2、3或4条记录(每次返回的记录不到5条,但数据库中有500条)。所以请帮帮我。下面给出了服务类和存储库的代码
服务代码:
public List<Client> listAll() {
Pageable pageable = new PageRequest(0,5);
return (List<Client>) clientRepository.getAllClient(pageable);
}
存储库代码:
public interface ClientRepository extends CrudRepository<Client, Long> {
@Query("Select distinct p FROM Client p LEFT JOIN FETCH p.offices LEFT JOIN FETCH p.users LEFT JOIN FETCH p.firmSeats")
public List<Client> getAllClient(Pageable page);
}
这里的问题是您为关联指定的连接获取选项导致的。
如果您考虑通过此语句从DB返回的结果集,则它可能包含每个用户的多条记录,例如,如果客户机x有5个办公室,则结果集中的所有5条记录都将来自客户机x。JPA层中的后处理会将其过滤为1条记录,以便在应用程序中只看到1条记录。
删除JOIN fetch子句以验证情况是否属实。如果是这样的话,您需要考虑为您的查询指定一个自定义countQuery(这实际上会镜像您的主查询,但只返回count):
http://codingexplained.com/coding/java/spring-framework/fetch-query-not-working-spring-data-jpa-pageable
web3.eth.getBlock()方法返回指定块编号或块哈希对应的块。 调用: web3.eth.getBlock(blockHashOrBlockNumber [, returnTransactionObjects] [, callback]) 参数: blockHashOrBlockNumber:String|Number - 块编号或块哈希值,或者使用以下字符串:"genesis"、"
web3.eth.getUncle()方法返回指定索引位置的叔伯块。 调用: web3.eth.getUncle(blockHashOrBlockNumber, uncleIndex [, returnTransactionObjects] [, callback]) 参数: blockHashOrBlockNumber:String|Number - 块编号或块的哈希值,或者使用以下字符串:"
注意:这是一个理论性的问题,我并不试图修复任何东西,也不试图为了实际目的达到任何效果 在Scala中使用<code>(参数)创建lambda时= Lambdas与方法没有什么不同,它们都被指定为表达式,但就我的理解,方法的返回类型很容易用< code > def name(arguments):return type = expression 语法来定义。 考虑这个(说明性的)例子:
web3.eth.getTransaction()方法返回具有指定哈希值的交易对象。 调用: web3.eth.getTransaction(transactionHash [, callback]) 参数: transactionHash:String - 交易的哈希值 callback:Function - 可选的回调函数,其第一个参数为错误对象,第二个参数为返回结果。 返回值: 一个Pro
web3.eth.getBalance()方法用来获取指定块中特定账户地址的余额。 调用: web3.eth.getBalance(address [, defaultBlock] [, callback]) 参数: address:String - 要检查余额的账户地址 defaultBlock:Number|String - 可选,使用该参数覆盖web3.eth.defaultBlock属性
这是我的实际服务方法。在测试时,它给我的变量为空。用户和响应 我试图写一个测试用例和模拟方法findByEmail()和保存(),但同时嘲笑我没有收到用户对象在返回中提到的thenback()和doback()。 有人能帮忙吗。