Java Spring数据JPA分页
我正在使用jQuery插件显示orderpositions列表。 在调试我的应用程序时,我偶然发现了以下不一致之处 为了检索数据,我对自定义查询使用了Java Spring数据JPA分页,java,spring,jpql,spring-data-jpa,Java,Spring,Jpql,Spring Data Jpa,我正在使用jQuery插件显示orderpositions列表。 在调试我的应用程序时,我偶然发现了以下不一致之处 为了检索数据,我对自定义查询使用了@Query-符号: @Query("select op from OrderPosition " + "op where op.order.created >= ?1" + " and op.depot in ?2" + " and op.order.deliveryAddress.deli
@Query
-符号:
@Query("select op from OrderPosition " +
"op where op.order.created >= ?1" +
" and op.depot in ?2" +
" and op.order.deliveryAddress.deliveryMode in ?3" +
" and op.pickStatus in ?4 and op.order.id like ?5 ")
Page<OrderPosition> findOrderpositionsByFilterStatus(Date date, List<Integer>depots, List<DeliveryMode> deliveryModes, List<ArticleStatusType> pickStatus, String sSearch, Pageable p);
我得到了全部6个
是什么让我想到了这个问题:
当使用非注释查询时(无论是泛型的
findAll()
还是来自方法名的查询),当检测到可分页的时,Spring Data JPA是否在内部使用order by
-子句?或相反:当使用可分页的时,我是否必须在每个自定义查询中添加order by
-子句?是索引。如果不进一步指定,Spring数据将使用一个OrderBy
(带有默认描述)。
查看日志:
SELECT t0.oid, t0.jpaversion, t0.amount, [...]
FROM [...]
WHERE [..] AND (t13.jpatype IS NULL OR t13.jpatype IN (?))
ORDER BY t0.oid DESC LIMIT ?, ?
在问题中包含数据表真的相关吗?即使你发现了这个bug,对我来说,这似乎是一个JPA/Spring数据JPA问题。你可以让log查看生成的sql并验证它。你能编辑并发布你的解决方案吗?你的查询和页面是什么样子的?@Blejzer我会的。但不幸的是,我不再在这家公司工作了——我没有访问代码的权限。该死!我以为你会是我的救世主!!!:D
SELECT t0.oid, t0.jpaversion, t0.amount, [...]
FROM [...]
WHERE [..] AND (t13.jpatype IS NULL OR t13.jpatype IN (?))
ORDER BY t0.oid DESC LIMIT ?, ?