|
|
|
Spring Data - SQL генерируемый в runtime
|
|||
|---|---|---|---|
|
#18+
Дано: некий интерфейс XYZ extends JpaRepository. В нем есть набор запросов с аннотацией @Query, которые автоматически Spring Data генерируются. А как надо прописать динамический запрос? Только отдельным интерфейсом, где это будет реализовано реализацией явно или все-таки есть какой-то способ указать, что запрос придет во время исполнения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2018, 14:17 |
|
||
|
Spring Data - SQL генерируемый в runtime
|
|||
|---|---|---|---|
|
#18+
Щиче, Неизвестный запрос вернет неизвестно какие данные.. Маппинг и использование неизвестно чего не возможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2018, 14:25 |
|
||
|
Spring Data - SQL генерируемый в runtime
|
|||
|---|---|---|---|
|
#18+
CriteriaQuery, Specification ? https://spring.io/blog/2011/04/26/advanced-spring-data-jpa-specifications-and-querydsl/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2018, 14:54 |
|
||
|
Spring Data - SQL генерируемый в runtime
|
|||
|---|---|---|---|
|
#18+
llemingCriteriaQuery, Specification ? https://spring.io/blog/2011/04/26/advanced-spring-data-jpa-specifications-and-querydsl/ Предыдущий программист сделал как раз по вашему учебнику. Только мне это не нравится в силу разных причин. Самая главная, что это не работает :) Когда вызывают поиск, то любой критерий по отдельности работает. Но если их несколько и есть критерий на exists подзапроса, то где-то в недрах Hibernate рождается невразумительный NullPointerException. Отладчик проходит всю Specification полностью и спотыкается уже при запросе. Ну и выглядит это, скажем так, невразумительно. Вот кусок кода, который портит многокритериальный запрос: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Самое интересное, что запрос с этим тоже работает, если нет других критериев. Сыпется сразу после возврата из метода. Моя задача как раз исправить косяк. Я хочу написать запрос на Native SQL с заранее определенными полями в select, но динамически меняющиеся условия поиска. Если возможно использовать в Criteria API SQL подзапросы в секции Where - это тоже вариант. Но этого я не нашел в сети. Можно вызвать какие-то SQL функции, но это уже ничем не лучше переписывания на чистом SQL полностью. Поэтому можно ли иметь динамический native SQL в автогенерируемом классе или надо делать отдельный интерфейс с реализацией? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2018, 15:56 |
|
||
|
Spring Data - SQL генерируемый в runtime
|
|||
|---|---|---|---|
|
#18+
Щиче, вместо интерфейса XYZ, сделайте класс, имплементите репозиторий, в классе используйте @Autowired jdbctemplate и далее используйте нативные запросы к базе во все поля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2018, 16:47 |
|
||
|
Spring Data - SQL генерируемый в runtime
|
|||
|---|---|---|---|
|
#18+
ОзверинЩиче, вместо интерфейса XYZ, сделайте класс, имплементите репозиторий, в классе используйте @Autowired jdbctemplate и далее используйте нативные запросы к базе во все поля. Спасибо, так и сделаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2018, 22:24 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39725994&tid=2121685]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 15ms |
| total: | 265ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...