Ваш запрос не будет фильтровать 10 самых последних записей. Он вернет 10 случайных записей (случайных, как в ненадежном порядке), поскольку отсутствует предложение ORDER BY.
Я не знаком с ограничениями гибернации, но, как и со всеми ограничивающими инструментами, я почти уверен, что вы можете обойти их с продуманным представлением.
Например, это представление будет содержать столбец ранга, который можно использовать для фильтрации 10 самых последних записей для любой комбинации (event_name, event_source)
на основе столбца заказа event_date
:
CREATE VIEW eventlog_rank_v AS
SELECT e.*,
row_number() OVER (PARTYTION BY e.event_name,
e.event_source
ORDER BY e.event_date DESC) event_rank
FROM empinst.eventlog e;