Когда я использую 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_
)
предел и смещение здесь не показаны, но если я переместлю предел и смещение в основной запрос, все будет в порядке.так почему?