我必须执行
的查询SELECT * FROM transaction WHERE account LIKE '%deepak%' and date_created BETWEEN 'Thu Jan 01 00:00:00 IST 2015' AND 'Wed Dec 16 00:00:00 IST 2015' ORDER BY date_created ASC OFFSET 5 LIMIT 10;
目前我可以使用JPA执行4个功能: -
使用以下代码: -
PageRequest request = new PageRequest(1, 10, Sort.Direction.ASC, date_created );
return transactionRepository.findAll(request);
但是如何执行剩余的功能,即'条款和'喜欢'使用分页和使用Spring Data JPA排序的子句
也欢迎其他建议的方法。
答案 0 :(得分:0)
看看Spring jpa data reference documentation,
将此添加到repository
PagingAndSortingRepository<..,..>
findByAccountLikeAndDateCreatedBetween(String account,Date start,Date end,Pageable pageable)
答案 1 :(得分:0)
如果您熟悉JPQL,则始终可以在存储库中使用@Query
注释查询。即:
@Query("select t from transaction t where t.name like ?1")
List<Transaction> getTransactions(String name, Pageable pageable)
其中?1是您传递的第一个参数,在本例中为name。请注意,Pageable必须始终是最后一个参数。这样,您可以根据需要为查询命名。
查看更多信息here。