Size: a a a

2020 December 21

D

Dima in pro.jvm
Роман Нагаев
а зачем тебе группировка в этом запросе?
источник

B1

Burevesnik 1960 in pro.jvm
Роман Нагаев
а зачем тебе группировка в этом запросе?
https://pastebin.com/sgGu5t8j

если не будет групировки - будут дупляжи
источник

B1

Burevesnik 1960 in pro.jvm
Ну или возможно есть другие способы решения дублей в результате jpql запроса
источник

B1

Burevesnik 1960 in pro.jvm
если distinct - пагинация не работает
источник

РН

Роман Нагаев... in pro.jvm
Burevesnik 1960
https://pastebin.com/sgGu5t8j

если не будет групировки - будут дупляжи
обычно для этого втыкают distinct

честно, я не знаю как именно происходит инициализация managed объектов, но я сталкивался с такой проблемой и немного разобрался,советую покопать в сторону разницы между join и fetch

join в отличии от fetch не инициализирует замапленные обекты но при этом увеличивает количество столбцов в result set, возможно это и является причиной проблемы и если поиграться с fetch то получится избавиться от дублей даже не добавляя distinct

вот тут можно почитать
https://thorben-janssen.com/hibernate-tip-left-join-fetch-join-criteriaquery/
раздел Defining a JOIN FETCH clause кусок текста меду двумя сниппетами
источник

РН

Роман Нагаев... in pro.jvm
та я прочитал, просто в самом запросе нету особого смысла дёргать group by кроме как для устранения дублей
источник

D

Dima in pro.jvm
Burevesnik 1960
если distinct - пагинация не работает
если у тебя pagination и джойны
источник

D

Dima in pro.jvm
то делать 2 запроса надо
источник

B1

Burevesnik 1960 in pro.jvm
Dima
то делать 2 запроса надо
https://pastebin.com/GmB3mKS0
всеравно дупли
источник

D

Dima in pro.jvm
я ж говорю
источник

D

Dima in pro.jvm
двумя запросами надо
источник

D

Dima in pro.jvm
иначе будут и дубли, и ин-мемори сортировка и разбиение
источник

D

Dima in pro.jvm
и еще посмотри про jpa criteria/specification
источник

B1

Burevesnik 1960 in pro.jvm
Dima
двумя запросами надо
ну так вот и сделал subselect
источник

D

Dima in pro.jvm
Burevesnik 1960
ну так вот и сделал subselect
не очень понял смысл сабселекта
источник

D

Dima in pro.jvm
это все ради дистинкта?
источник

B1

Burevesnik 1960 in pro.jvm
Dima
это все ради дистинкта?
угу)
источник

D

Dima in pro.jvm
у @Query есть два параметра: value и countQuery. Вот value у тебя написан, хотя я сабселект убрал бы, нужен такой же запрос в countQuery, только count(distinct…)
источник

D

Dima in pro.jvm
а про два запроса я имел в виду, если будешь вытягивать сущность со связями, то пэйджинация в памяти произойдет, нужно отдельно без связей сделать запрос с пэйджингом, а потом по найденным айди сходишь уже за сущностью с entity graph
источник

T

Tim in pro.jvm
Добрый день всем!
Подскажите пожалуйста, а как можно обернуть все вызовы методов в проекте?
То есть я пытаюсь повесить кастомный InvocationHandler на все методы всех классов в программе.
Пробовал через ClassLoaders and ProxyInstance, но пока ничего дельного из этого не вышло.
Может есть какие то другие варианты? Или я двигаюсь в правильном направлении?
источник