|
|
|
hiber n+1?
|
|||
|---|---|---|---|
|
#18+
в общем, попросили глянуть код. там есть несколько обращений к базе. на первом же обращении к репо хибер сыпет 15тью селектами. )) высыпает на строчке someRepository.findAll(someSpecification, somePageable) т.е. то, что идет из стандартного интерфейса. собссно что делать то емае )) там и крутить то вроде нечего. я так понимаю, засада именно в дизайне базы. но... пробовал играться с игер-лейзи зависимостями в базе - что-то эффекта особо не достиг, ну да на пару запросов меньше стало. пытался переписать поверх интерфейса @Query, но что то так и не разобрался как с джойн фетч работать. да и всё-равно не выйдет нормально, т.к. в этом случае пейджбл оно цепляет, а спецификацию уже нет. я так понимаю, всё? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2016, 13:05 |
|
||
|
hiber n+1?
|
|||
|---|---|---|---|
|
#18+
Добывать метод репозитории в кот jpql + joinfetch ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2016, 14:45 |
|
||
|
hiber n+1?
|
|||
|---|---|---|---|
|
#18+
no56892, угу.. Код: java 1. 2. 3. не хочет подцеплять спецификацию... а спека сложная для воспроизведения в квери. и второй вопрос не разобрался в джойн фетче у меня есть ентити скажем Коробка, в ентити коробка есть лист Товар. я пишу select k from Korobka k join fetch Tovar t он ругается типа нет в селекте обращения к фетчу. бред какой то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2016, 17:44 |
|
||
|
hiber n+1?
|
|||
|---|---|---|---|
|
#18+
Select distinct k from korobka k left join fetch k.tovar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2016, 18:38 |
|
||
|
hiber n+1?
|
|||
|---|---|---|---|
|
#18+
точно. именнно так и делал. только без дистинкта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2016, 19:08 |
|
||
|
hiber n+1?
|
|||
|---|---|---|---|
|
#18+
и еще вопрос: я могу так делать, как выше написано, при этом подключая спецификацию к методу? пейджбл работает. а со спекой или нет или я что то не то делаю ))) переносить спеку в квери - это катастрофа. погуглил - нигде такого варианта не нашел. или так нельзя. или так никто не делал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2016, 19:55 |
|
||
|
hiber n+1?
|
|||
|---|---|---|---|
|
#18+
natanabrahamjr, Добро пожаловать в Мир ОРМ и Spring Data :) Если коротко то да использовать как уже сказали jpql + joinfetch + Specification вы можете добавлять все что хотите и так же их объединять через and /or Specification - сильный инструмент для фильтров и поиска ... подумайте как завернуть весь ваш запрос в Specification ?! вместе с Pageable итд Если хотите разобраться то начните с Видео , но тут, скорее всего, не будет ответа на ваш вопрос ... это лишь базовые знания :) [spoiler] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2016, 10:26 |
|
||
|
hiber n+1?
|
|||
|---|---|---|---|
|
#18+
Atum1Если коротко то да использовать как уже сказали jpql + joinfetch В актуальных версиях JPA/Hibernate есть на много более прогрессивная штука Fetch Profile/Entity Graph. Рекомендую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2016, 10:27 |
|
||
|
hiber n+1?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczAtum1Если коротко то да использовать как уже сказали jpql + joinfetch В актуальных версиях JPA/Hibernate есть на много более прогрессивная штука Fetch Profile/Entity Graph. Рекомендую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2016, 11:23 |
|
||
|
hiber n+1?
|
|||
|---|---|---|---|
|
#18+
Atum1Blazkowiczпропущено... В актуальных версиях JPA/Hibernate есть на много более прогрессивная штука Fetch Profile/Entity Graph. Рекомендую. Fetch Profile/Entity Graph а как через них делать фильтр + постраничный вывод ? (без offfset + limit и order by ? ) = на большом объеме данных такой механизм будет давать тормоза ... нужен будет подзапрос ?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2016, 11:25 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39271657&tid=2123905]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
79ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 437ms |

| 0 / 0 |
