我的Spring应用程序中有一个查询,它连接了一个表和一个视图。两者之间的关系是1-0..1,选择发生在第一个表格上。
select *
from a
left join b on a.id = b.id
我正在执行我的查询:
List<Record> list = em.createNativeQuery(query, Record.class)
.setFirstResult(offset)
.setMaxResults(limit)
.getResultList();
我猜想转换为:
select *
from a
left join b on a.id = b.id
where a.x = 1234
offset 100000
limit 1000
然而,这更快:
with t as (
select *
from a
where x = 1234
offset 100000
limit 1000
)
select *
from t
left join b on t.id = b.id
我应该摆脱setFirstResult
和getMaxResults
,并自己构建查询吗?或者还有其他选择吗?
由于