Skip to content

Pageable - incorrect query for complex join for nativeQuery=true #2395

Open
@tomaszba

Description

@tomaszba

Hello,

spring-data-jpa, version: 2.3.9
database: mysql

An error occures for method annotated with @Query(nativeQuery=true) with declared pageable parameter, e.g.:

Page<NEntity> searchForEntityWithStatus(@Param("status"), Pageable pageable);

If query contains complex JOIN with ORDER BY and LIMIT, e.g.:

"LEFT JOIN( SELECT status FROM entity_statuses ORDER BY updated_at DESC LIMIT 1) st ON ..."

library generates wrong sorting and pagination fragment (ORDER BY is missing):

, some_column LIMIT ?,? which causes SQL error.

Workaroundthat working for me is to add at the end of query sentence like below:

ORDER BY <any_neutral_column>

any_neutral_column I mean column which has no impact on sorting.

Metadata

Metadata

Assignees

No one assigned

    Labels

    in: query-parserEverything related to parsing JPQL or SQLtype: bugA general bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions