JPA QueryDsl子查询无法设置偏移量和限制

时间:2019-06-02 06:43:25

标签: java jpa subquery

当我使用JPA + QueryDsl时,无法在子查询中设置限制和偏移量

mysql5,spring5,queryDsl4.2.1

pgIdTestEnts =new JPAQueryFactory(em).select(qPgIdTestEnt).from(qPgIdTestEnt)
                .where(
                        qPgIdTestEnt.snowFlakeId.in(
                                new JPAQueryFactory(em).select(qPgIdTestEnt.snowFlakeId).from(qPgIdTestEnt).offset(range.getStart()).limit(range.getLength())
                ))
                .fetch();

我检查了以下日志:

select
        pgidtesten0_.SNOW_FLAKE_ID as SNOW_FLA1_0_,
        pgidtesten0_.BATCH_NUMBER as BATCH_NU2_0_ 
    from
        PG_ID_TEST pgidtesten0_ 
    where
        pgidtesten0_.SNOW_FLAKE_ID in (
            select
                pgidtesten1_.SNOW_FLAKE_ID 
            from
                PG_ID_TEST pgidtesten1_
        )

这里没有显示限制和偏移量,但是如果我将限制和偏移量移到主查询中就可以了。那为什么呢?

0 个答案:

没有答案
相关问题