当我使用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_
)
这里没有显示限制和偏移量,但是如果我将限制和偏移量移到主查询中就可以了。那为什么呢?