Почему JPA не применяет «LIMIT 1» к запросу?Я пытаюсь написать функцию репозитория в приложении SpringBoot, чтобы получить первый результат сверху, где "isActive" равен TRUE, когда упорядочено по ID.Эта функция генерирует запрос, который не включает «LIMIT 1», он возвращает несколько результатов и завершается ошибкой с «запросом не возвращен уникальный результат: 4».Я использую Hibernate Core v5.3.7.Final с MySQL v8.0.12 в качестве базы данных.
Сгенерированный запрос:
select phoneinfo0_.id as id1_0_, phoneinfo0_.Phone as Phone2_0_, phoneinfo0_.isActive as isActive3_0_, phoneinfo0_.useCount as useCount4_0_ from contactNumbers phoneinfo0_ where phoneinfo0_.isActive=1 order by phoneinfo0_.id asc;
Результат возвращен:
+--------+------------+--------------+--------------+
| id1_0_ | Phone2_0_ | isActive3_0_ | useCount4_0_ |
+--------+------------+--------------+--------------+
| 1 | 1111111111 | 1 | 0 |
| 2 | 9999999999 | 1 | 0 |
| 3 | 9000000000 | 1 | 0 |
| 4 | 2222222222 | 1 | 0 |
+--------+------------+--------------+--------------+
Такжескажите, пожалуйста, нужно ли "ORDER BY ID" или это делается по умолчанию при каждом выборе, если ID имеет автоинкрементный первичный ключ?