Я использую репозиторий Spring Data JpaSpecificationExecutor. Я могу сделать динамический оператор where с помощью спецификации метода findAll JapSpecificationExecutor.
текущий код и схема таблицы в таком виде
History Table
id |сообщение |groupId
1 'text' 1
2 'cotent' 1
3 'ttt' 2
4 'rrr' 3
historyRepository
.findAll(
where(
/** common */
sndId(sndUId))
.and(kind(kind))
.and(sndIdNotNull())
.and(groupTokenNotNull())
/** search option */
.and(searchHistory(historyRequestDto))
/** order by date */
, new PageRequest(0, 50, new Sort(Sort.Direction.DESC, "sndDate"))
)
Я хочу, чтобы мой код генерировал собственный запрос MySQL как этот
select * from History
where
id IN (
select
min(id)
from
History
where
kind = 4
and kind is not null
and sndId is not null
and groupToken is not null
group by (groupToken)
) order by sndDate desc
limit 0, 10
Могу ли я генерировать такой код?