У меня есть экземпляр JPAQuery<?>
, и мне нужно получить количество.Однако, поскольку таблица может содержать много элементов (миллионов), я хочу ограничить количество до определенного максимума, скажем, 50 000.
Текущий код QueryDSL эффективно делает это:
query.fetchCount();
Теперь мои желаемые модификации довольно просты в raw sql:
select count(*) from (<whatever query> limit 50000);
Однако я не знаю, как бы выразить это в querydsl.Следующий код неверен, потому что .from()
принимает путь к объекту, но query
- это запрос:
JPAExpressions.select(Wildcard.all)
.from(query.limit(50000))
.fetchCount();
Я использую querydsl 4.