Оптимальный способ достижения setmaxresults в springdatajpa с помощью запроса hql

#spring #spring-data-jpa #hql

Вопрос:

Поскольку ограничение не поддерживается в @query of spring, нам нужен альтернативный способ для этого, отличный от параметра запроса разбиения на страницы

Ответ №1:

 @Query(" select something so where so.idgt;50 order by so.created desc")  @QueryHints(@QueryHint(name = "org.hibernate.annotations.FETCH_SIZE" , value = "1")) optionamlt;somethinggt; findlatestSomething();  

Комментарии:

1. размер выборки не совпадает с максимальными результатами.

2. Есть ли какой-нибудь другой лучший способ добиться максимального результата ? Мне просто нужно ограничить максимальный результат 1.

Ответ №2:

 @Query(" select something s where s.id = select max(so.id) something so order by so.id desc") optionamlt;somethinggt; findlatestSomething();  

Комментарии:

1. Вы уже отправили ответ два дня назад. Какова цель публикации второго ответа? Если это решит проблему с вашим первым ответом, вам следует просто отредактировать свой первый ответ. Напротив, если это обеспечивает альтернативный подход, который может быть предпочтительнее в определенных ситуациях, было бы полезно объяснить, что это за ситуации. Хотя, даже в этом случае, вы обычно просто помещаете эти варианты в один и тот же ответ.

2. Я отправил несколько ответов на один и тот же запрос. Я согласился, что могу сложить все разные ответы вместе. только позже я узнал, что это другой подход. так что это было еще одним ответом. надеюсь, ты понял.

3. Это все еще не помогает мне понять разницу между ними. Что предпочтительнее? При каких обстоятельствах?