|
|
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
вадяTsyklopпропущено... пожалуй - нет. Смысл Вашего комментария тут? Он не несет ничего полезного. полезное будет если сможешь без этой прклади работать с базой. и сможешь делать намного больше, и будет работать намного быстрее. Без какой прокладки? без сервисов? Транзакции коллбеках UI делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 09:26 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Вот тоже на досуге в спринге ковыряюсь, и как понял разница в том, что сервис - это более высокий уровень абстракции над СУБД. image Код: java 1. 2. 3. product Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Код: java 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. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. Но меня все мучает один вопрос: чем лучше оперировать между методами проекта, ключами сущностей или самими сущностями? Сначала пытался второе (передавать сущности), но они все равно детачатся от сессии и их приходится "перезагружать" и начинаю приходить к мнению, что смысла их держать в памяти нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 09:38 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
CheblinTsyklopчто на данный момент и делаю. Сейчас я работаю с чистым JDBC. НО!. сейчас все работодатели поголовно помешались на Spring и Hibernate и все его требуют. Да и не то что работодатели, просто проще писать становится бд и прочее. Но приходится жертвовать ресурсами. https://www.jooq.org/] jOOQ: The easiest way to write SQL in Java а работодатели.... либо не в курсе, и тогда пусть "окультуриваются", либо идут лесом... в моей стране популярен спринг и хибер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 09:42 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Petro123вадя, это для тебя сложно? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Зачем commit помещать в секцию finally ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 09:44 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
TsyklopCheblinпропущено... https://www.jooq.org/] jOOQ: The easiest way to write SQL in Java а работодатели.... либо не в курсе, и тогда пусть "окультуриваются", либо идут лесом... в моей стране популярен спринг и хибер. Наверное это для тех, кто хибер не осилил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 09:46 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Hett, Это ниже вроде ОРМ сам умеет. Чем sql руками писать. Давайте обсуждать базовые возможности. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 09:51 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
HettЗачем commit помещать в секцию finally ?да. Ты прав конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 09:53 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Petro123Hett, Это ниже вроде ОРМ сам умеет. Чем sql руками писать. Давайте обсуждать базовые возможности. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Так это и не SQL, а HQL и его разбирает как раз ORM. Я сходил в интернет и посмотрел там, как это сделать. На сколько помню вариантов всего два: представленный выше и через NamedEntityGraph. Второе мне показалось избыточным в моем случае, пока и так сойдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 09:59 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Hettно они все равно детачатся от сессии исессии короткие и не отсоединяй. Нужен пример. В примере выше удаляй картинку по маппингу и каскаду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:00 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
HettНа сколько помню вариантов всего два:Criteria? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:04 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Petro123Hettно они все равно детачатся от сессии исессии короткие и не отсоединяй. Нужен пример. В примере выше удаляй картинку по маппингу и каскаду. Под рукой кода нет. Делаю админку в вадине, открываю выбранный в гриде entity для редактирования попапе: 1. По клику на row в гриде сохраняю selectedEntity в свойстве одной из вьюх 2. По нажатию кнопки создает другой лейаут, в который передается этот selectedEntity. Как понимаю передаю его неявно через сессию. С одной стороны не нужно делать лишний запрос, так как когда открываешь "попап", то все данные для его рендеринга уже есть. Но когда нужно сохранить entity - его все равно приходится перезагрузить, чтобы приаттачить к базе и как то мне это не нравится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:08 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Petro123HettНа сколько помню вариантов всего два:Criteria? В спринге репозитории на базе интерфейсов делаются. Хотя подозреваю, что можно и классом это сделать, пока не знаю как лучше. Во всяком случае через графы, как мне кажется, будет удобнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:09 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Hettприаттачить к базе *к сессии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:11 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
HettДелаю админку в вадине,ну, там всё другое. Это же вадин). А в классике передают параметром не id а объект. Потом через dto типа json на клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:13 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
HettВ спринге репозитории на базе интерфейсов делаются До сих пор спорный вопрос в вебе. Кто то говорит что и менеджер сам является репозиторием. Если брать шарп, то там внутри EF тоже репозиторий и городить его не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:17 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Hett, Что в вашем случае делает Service и Repository? подскажите пожалуйста. ибо не понимаю зачем их оба. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:18 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
TsyklopHett, Что в вашем случае делает Service и Repository? подскажите пожалуйста. ибо не понимаю зачем их оба. Imho Без сервисного слоя никак, а репо я бы заменил тем кто сохраняет сущности. И плевать что принято интерфейсами что то там. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:23 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
TsyklopHett, Что в вашем случае делает Service и Repository? подскажите пожалуйста. ибо не понимаю зачем их оба. Репозиторий предоставляет интерфейс для управления конкретной сущностью. Сервис находится на уровне выше и управляет сущностями используя репозитории. При этом он может оперировать сразу несколькими типами сущностей (как в моем примере, удаляя картинку мы ее отвязываем от продукта). Но это мое видение, не знаю на сколько корректное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:24 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Petro123TsyklopHett, Что в вашем случае делает Service и Repository? подскажите пожалуйста. ибо не понимаю зачем их оба. Imho Без сервисного слоя никак, а репо я бы заменил тем кто сохраняет сущности. И плевать что принято интерфейсами что то там. Да заменить то можно, но больше кода писать придется. И это как раз тот случай, когда больше - не значит лучше. ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:25 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Hett Репозиторий предоставляет интерфейс для управления конкретной сущностью. Сервис находится на уровне выше и управляет сущностями используя репозитории. При этом он может оперировать сразу несколькими типами сущностей (как в моем примере, удаляя картинку мы ее отвязываем от продукта). Но это мое видение, не знаю на сколько корректное. То бишь репозиторий относится к сущности определенной а сервис один и в нем можно делать действия с репозиториями? или как. чет не догоняю. Я в инете нашел пример. В нем были и репозитории и сервисы. Но штука в том что они были идентичны. что написанный репозиторий, что сервис описывали и реализовывали одни и те же методы. Может я не так понял. хз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:40 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Hettно больше кода писать придется. Не верю, т.к. А) несколько помню ты делал EJB. Для него конечно больше. Б) управлять сущностью может менеджер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:41 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Petro123Hettно больше кода писать придется. Не верю, т.к. А) несколько помню ты делал EJB. Для него конечно больше. Б) управлять сущностью может менеджер. Ну вот приведенном выше мною примере есть метод `findByIdAndFetchAllEagerly` и если вдруг нужно будет найти Product и подгрузить все зависимости в разных сервисах, то придется либо дублировать запрос, либо инъектить один сервис в другой, что не очень красиво (тем более так можно и перекресные ссылки получить). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:47 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
А так получается, что в репозиториях - запросы. В сервисах - бизнеслогика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:48 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Petro123Tsyklop, Вот образец сервсного слоя: 12416653 Начинай от него плясать. Т.к. это бизнес логика!!! Вот как раз тот случай, когда у возникает вопрос: есть ли смысл передавать в метод всю сущность, если нужен только id. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:53 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39644170&tid=2122060]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
166ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 518ms |

| 0 / 0 |

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