Вы можете использовать следующий запрос JPQL:
SELECT
MAX(CAST(SUBSTRING(id, 1, LOCATE(id, '-') - 1) AS INTEGER))
FROM EmployeeTripCard s;
Мы можем использовать LOCATE
, чтобы найти индекс первого -
, затем вызвать SUBSTRING
, чтобы найти начальный номер. Обратите внимание, что нам также нужно привести эту результирующую строку к целому числу, чтобы MAX
вел себя так, как мы хотим (числа в виде текста не всегда сортируются так же, как действительные чистые числа).