|
|
|
Spring JPA и Criteria
|
|||
|---|---|---|---|
|
#18+
Подскажите в Spring JPA можно использовать Criteria? А то смотрю там через Specification, так разве удобно? Расскажите зачем это и как лучше делать сложные запросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2015, 18:06 |
|
||
|
Spring JPA и Criteria
|
|||
|---|---|---|---|
|
#18+
Как я понял речь идет о spring data jpa. На мой взгляд criteria api не для сложных запросов, а для динамических (запросов которые меняются в зависимости от условий) Использовать можно. https://github.com/spring-projects/spring-data-jpa-examples/tree/master/spring-data-jpa-example/src/main/java/org/springframework/data/jpa/example/repository/custom А вот для сложных лучше использовать JPQL или native SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2015, 21:03 |
|
||
|
Spring JPA и Criteria
|
|||
|---|---|---|---|
|
#18+
А как быть с теме что автоматически генерируется? Как в примере нужно создавать 2 репозитория? Как-то не очень удобно получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2015, 21:38 |
|
||
|
Spring JPA и Criteria
|
|||
|---|---|---|---|
|
#18+
Вы преувеличиваете. Создавать интерфейс и класс это мелочи по сравнение с тем что нужно написать внутри. Да и вроде как четко отделена кастомная логика, что тоже не плохо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2015, 23:13 |
|
||
|
Spring JPA и Criteria
|
|||
|---|---|---|---|
|
#18+
z3r9А как быть с теме что автоматически генерируется? Как в примере нужно создавать 2 репозитория? Как-то не очень удобно получается. Spring-Data предназначен для CRUD. Для этого идеально подходит. Вывести табличку, подредактировать, отфильтровать. Но если идет сложная БЛ, со сложными выборками (создание новых сущностей), на основе существующих сущностей. То это не для Spring-Data и JPA. Тут лучше использовать Spring JdbcTemplate. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2015, 07:25 |
|
||
|
Spring JPA и Criteria
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, я не понимаю как Spring data jpa совместить с не стандартным запросом. Как Mad_Head сказал создавать 2 репозитория? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2015, 15:34 |
|
||
|
Spring JPA и Criteria
|
|||
|---|---|---|---|
|
#18+
z3r9mad_nazgul, я не понимаю как Spring data jpa совместить с не стандартным запросом. Как Mad_Head сказал создавать 2 репозитория? В общем случае никак. А так ч/з Specification. Только учтите что вам вернется конкретная сущность (Entity) + джоины. Например, рекурсивный запрос не сделаете. Ну или новую сущность то же не сделаете. Т.е. описываете сущность со всякими @OneToMany, @ManyToMany И по ним можно строить запрос. Поэтому если что-то "не стандартное", то JdbcTemplate. Нативный SQL + понятный мапинг на POJO-объект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2015, 15:56 |
|
||
|
Spring JPA и Criteria
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, а без Specification нельзя например в сервисе вызвать типа такого: авторfindAll(criteria.add(Restrictions.eq("test", 1)).add(Restrictions.eq("test2", 2))); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2015, 19:45 |
|
||
|
Spring JPA и Criteria
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, все делается, я сделал кастомную версию repository SimpleJpaRepository добавил запросы с LIMIT и придумал так называемую селекцию пример Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2016, 14:14 |
|
||
|
Spring JPA и Criteria
|
|||
|---|---|---|---|
|
#18+
z3r9mad_nazgul, а без Specification нельзя например в сервисе вызвать типа такого: авторfindAll(criteria.add(Restrictions.eq("test", 1)).add(Restrictions.eq("test2", 2))); так не получится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2016, 14:16 |
|
||
|
Spring JPA и Criteria
|
|||
|---|---|---|---|
|
#18+
bochkov, покажи пожалуйста вызов метода findAll(...); а то не совсем понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2016, 12:32 |
|
||
|
Spring JPA и Criteria
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2016, 14:37 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39139021&tid=2124475]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 393ms |

| 0 / 0 |
