Замена устаревших критериев Hibernate Criteria .list() и .scroll().JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Замена устаревших критериев Hibernate Criteria .list() и .scroll().

Сообщение Anonymous »

Я использовал Grails 3.3.18 и сейчас перехожу на Grails 6.
После обновления я получаю это предупреждение в своих журналах:

Код: Выделить всё

org.hibernate.orm.deprecation - HHH90000022: Hibernate's legacy org.hibernate.Criteria API is deprecated; use the JPA javax.persistence.criteria.CriteriaQuery instead
В своем коде я использовал критерии Hibernate двумя способами:

Код: Выделить всё

def list = Toto.createCriteria().list {
eq('exemple', XXX)
}
И для больших наборов данных:

Код: Выделить всё

def listScrollable = Toto.createCriteria().scroll {
eq('exemple', XXX)
}

while (listScrollable.next()) {
Toto toto = listScrollable.get(0)
}
Я понимаю, что теперь мне следует заменить это на GORM, где запросы {, например:

Код: Выделить всё

def list = Toto.where {
exemple == XXX
}.list()
Это работает, но я не могу найти эквивалент для прокрутки.
Если я попробую:

Код: Выделить всё

def listScrollable = Toto.where {
exemple == XXX
}.scroll()
Я понимаю

Код: Выделить всё

No signature of method: org.grails.datastore.gorm.query.criteria.AbstractDetachedCriteria.scroll() is applicable for argument types: () values: []
Как правильно эффективно перебирать большой набор результатов в Grails 6 сейчас, когда критерии Hibernate устарели?

Подробнее здесь: https://stackoverflow.com/questions/798 ... and-scroll
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»