|
|
|
spring data count fetch как ?
|
|||
|---|---|---|---|
|
#18+
Добрый день ! собственно сабж вылез где не ждали : что есть - обычный себе рапозиторий использую метод Код: java 1. так вот , выясняется что jpa генерит полную ерунду для того чтобы первым запросом получить количество. так работает : Код: java 1. получаю такой вот sql да в нем есть подтягивание из таблицы game через left outer join в самом Specification - просто указано root.fetch(ReceiptTemplate_.game ,JoinType.LEFT); без него он для каждой записи будет тянуть отдельным запросом игру (такой каскад селектов к таблице game) Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. а вот как spring data делает count для пейдинга Код: plsql 1. полный лог ошибки : org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.QueryException: query specified join fetching, but the owner of the fetched association was not present in the select list [FromElement{explicit,not a collection join,fetch join,fetch non-lazy properties,classAlias=generatedAlias1,role=ru.arm.template.entities.ReceiptTemplate.game,tableName=game,tableAlias=game1_,origin=receipt_template receipttem0_,columns={receipttem0_.game_id ,className=ru.arm.template.entities.Game}}] [select count(generatedAlias0) from ru.arm.template.entities.ReceiptTemplate as generatedAlias0 left join fetch generatedAlias0.game as generatedAlias1 where generatedAlias0.state in (:param0, :param1)]; nested exception is java.lang.IllegalArgumentException: org.hibernate.QueryException: query specified join fetching, but the owner of the fetched association was not present in the select list [FromElement{explicit,not a collection join,fetch join,fetch non-lazy properties,classAlias=generatedAlias1,role=ru.arm.template.entities.ReceiptTemplate.game,tableName=game,tableAlias=game1_,origin=receipt_template receipttem0_,columns={receipttem0_.game_id ,className=ru.arm.template.entities.Game}}] [select count(generatedAlias0) from ru.arm.template.entities.ReceiptTemplate as generatedAlias0 left join fetch generatedAlias0.game as generatedAlias1 where generatedAlias0.state in (:param0, :param1)] Что хочу - научить его делать корректный count для пейдинга вида (ясно что в count совсем ненужны эти left outer join game!!!) Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. вопрос как ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2017, 13:30 |
|
||
|
spring data count fetch как ?
|
|||
|---|---|---|---|
|
#18+
нашел только это http://stackoverflow.com/a/39659926/4458964 но это native Код: java 1. где можно явно указать sql а как быть со спецификацией ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2017, 13:45 |
|
||
|
spring data count fetch как ?
|
|||
|---|---|---|---|
|
#18+
Atum1нашел только это http://stackoverflow.com/a/39659926/4458964 но это native Код: java 1. где можно явно указать sql а как быть со спецификацией ? и тут http://codingexplained.com/coding/java/spring-framework/fetch-query-not-working-spring-data-jpa-pageable так если запрос сложный и динамический ? запрос с кучей опциональных параметров , для чего и пользуется спецификация ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2017, 13:56 |
|
||
|
spring data count fetch как ?
|
|||
|---|---|---|---|
|
#18+
А чему у тебя равен hibernate.dialect? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2017, 16:22 |
|
||
|
spring data count fetch как ?
|
|||
|---|---|---|---|
|
#18+
maytonА чему у тебя равен hibernate.dialect? Код: java 1. как я понял для запроса count() Код: java 1. 2. Задача с join не разрешима ... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2017, 17:03 |
|
||
|
spring data count fetch как ?
|
|||
|---|---|---|---|
|
#18+
Блин , сразу не увидел : Код: java 1. 2. 3. https://jira.spring.io/browse/DATAJPA-105 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2017, 17:14 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39401110&tid=2123168]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
80ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 404ms |

| 0 / 0 |
