|
|
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Начинаю разбираться с Hibernate 5 и не понятна суть работы с бд. Взял пример в интернете - код ниже. Не могу одного понять. Смысл создавать service если он попросту дублирует repository по сути. Подскажите как правильно такое реализовывать. Вообще реализовывать DAO. Что касается Entity мне более менее понятно, как описывать и т.д. но вот сам этот процесс не очень. Хочется научится правильно делать. Спасибо. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: 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. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. Код: java 1. 2. 3. 4. 5. 6. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 21:46 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Tsyklop, забудь эту прокладку как страшный сон... и будет тебе счастье ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 21:57 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
вадяTsyklop, забудь эту прокладку как страшный сон... и будет тебе счастье пожалуй - нет. Смысл Вашего комментария тут? Он не несет ничего полезного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 22:02 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
вопрос не имеет никакого отношения к Hibernate и работе с БД, это чисто архитектурный момент. Причем в данном примере естественно в сервисе нет никакого смысла, но он мог бы появиться - если бы сервис какую-то полезную работу выполнял. Ну например - если бы при сохранении пользователя нужно было какие-то записи вносить в историю, или банально е-мейл/sms/сообщение администратору отправлять - согласись, что отправлению емейла нечего делать в репозитарии, значит он должен находится уровнем выше - в слое бизнес-логики. И тут нам уже внезапно может пригодится наш Service. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 22:20 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
chpashaвопрос не имеет никакого отношения к Hibernate и работе с БД, это чисто архитектурный момент. Причем в данном примере естественно в сервисе нет никакого смысла, но он мог бы появиться - если бы сервис какую-то полезную работу выполнял. Ну например - если бы при сохранении пользователя нужно было какие-то записи вносить в историю, или банально е-мейл/sms/сообщение администратору отправлять - согласись, что отправлению емейла нечего делать в репозитарии, значит он должен находится уровнем выше - в слое бизнес-логики. И тут нам уже внезапно может пригодится наш Service. окей. как мне правильно построить работу с бд? Создать базовый репозиторий с простыми действиями - select, insert, update, remove и создать репозиторий который будет наследоваться от базового и при этом относится к определенной сущности.К примеру есть UserEntity. Есть некий базовый репозиторий DaoRepository и UserRepository который описывает работу непосредственно с UserEntity. Так правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 22:27 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
TsyklopК примеру есть UserEntity покажите как сейчас в хибере вы работаете с сущностью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 22:42 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Petro123TsyklopК примеру есть UserEntity покажите как сейчас в хибере вы работаете с сущностью. Пока никак не работаю. Хотел написать своё. То что я привел я взял с интернета. Все что написал я это саму энтити и интерфейс который описывает методы для работы с энтити. Но при этом сервак не запустился ибо у меня нет реализации. Тут то и стал вопрос как правильно делать. Мне один человек подсказал такой принцип - https://pastebin.com/ymM0yhgB. Думаю тут не сильно замудрено. Так нормально? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 22:45 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
TsyklopвадяTsyklop, забудь эту прокладку как страшный сон... и будет тебе счастье пожалуй - нет. Смысл Вашего комментария тут? Он не несет ничего полезного. полезное будет если сможешь без этой прклади работать с базой. и сможешь делать намного больше, и будет работать намного быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 22:51 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
TsyklopПока никак не работаю. ну, невозможно рассуждать о делениях на слои большого приложения уровня предприятия , если ничего не вообще не писал. авторСоздать базовый репозиторий с простыми действиями - select, insert, update, remove вот тут есть пример без репозитария: 18407424 пробуйте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 22:53 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
вадяTsyklopпропущено... пожалуй - нет. Смысл Вашего комментария тут? Он не несет ничего полезного. полезное будет если сможешь без этой прклади работать с базой. и сможешь делать намного больше, и будет работать намного быстрее. что на данный момент и делаю. Сейчас я работаю с чистым JDBC. НО!. сейчас все работодатели поголовно помешались на Spring и Hibernate и все его требуют. Да и не то что работодатели, просто проще писать становится бд и прочее. Но приходится жертвовать ресурсами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 22:53 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
вадя, это для тебя сложно? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 22:54 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Petro123вот тут есть пример без репозитария: 18407424 пробуйте. Хм. инетересно. Тут берется сразу сессия. Подскажите пожалуйста данная сессия будет новая на каждый поток, то бишь на каждый запрос или же одна на все приложение?. И еще. У меня нет нигде явного создания это сессии. Я так понимаю что это делает Spring или же сам Hibernate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 22:56 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
TsyklopПодскажите пожалуйста данная сессия будет новая на каждый поток, то бишь на каждый запрос как захочешь. В вебе рекомендуется на запрос - 0,1 сек и закрываем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 22:57 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
TsyklopSpring или же сам Hibernate есть развилка. Либо спринг JPA либо хибер API. Я предпочитаю второе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 22:58 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Petro123как захочешь. В вебе рекомендуется на запрос - 0,1 сек и закрываем. Просто ж я её не управляю. Я говорю Спрингу (наверно ему) что положи мне в рест контроллер объект для работы с определенной сущностью, он и кладет. Все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 22:59 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
TsyklopЯ говорю Спрингу (наверно ему) что положи мне в рест контроллер объект для работы с определенной сущностью, он и кладет. ну значит ты выбрал спринг магию и замечательно.))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 23:05 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Tsyklop, делай пример как у меня но на спринге с EntityManager. Он вместо репозитария)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 23:06 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Petro123Tsyklop, делай пример как у меня но на спринге с EntityManager. Он вместо репозитария)) Если не сложно можно примерчик. небольшой может. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 23:11 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Tsyklop, под рукой нету. Мне без спринга нравится. Те кто любят спринг подскажут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 23:16 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Petro123вадя, это для тебя сложно? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. дело не в сложности, а бессмысленности данного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 02:30 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Petro123, ты привел минимальный пример, а делаешь вывод о всех случаях. если взять к примеру резульсет , который возвращает пару сотен строк. можно сразу пройтись по нему и обработать. но прокладка сначала запишет всё в объект, и только потом даст с ним работать. память + время... и селект написанный руками может вернуть данные для которых уже не требуется доп обработки на java. опять время ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 02:44 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Tsyklopчто на данный момент и делаю. Сейчас я работаю с чистым JDBC. НО!. сейчас все работодатели поголовно помешались на Spring и Hibernate и все его требуют. Да и не то что работодатели, просто проще писать становится бд и прочее. Но приходится жертвовать ресурсами. https://www.jooq.org/] jOOQ: The easiest way to write SQL in Java а работодатели.... либо не в курсе, и тогда пусть "окультуриваются", либо идут лесом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 06:13 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
вадя, Ты против ООП? Тогда иди лесом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 07:19 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Tsyklop, Если тут не появится короткого примера на спринге, делай на Hiber API. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 07:22 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Tsyklop, Смотрите Фаулера Repository инкапсулирует запросы. Service aka Transaction Script инкапсулирует сценарии бизнес-логики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 08:02 |
|
||
|
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 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Hettи подгрузить все зависимости в разных сервисах, Не понял. Получаем продукт с айдишниками FK. Т.е. ленивыми. В сервисном слое подгрузка автоматическая при попытке прочитать свойство. Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:53 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
что-то сегодня не выспался и когда быстро пишу - теряю слова ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:53 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
HettВот как раз тот случай, когда у возникает вопрос: есть ли смысл передавать в метод всю сущность, если нужен только id.блин! Да как ты логику будешь писать если нужен Весь класс юзверь. А не его айди. Потом править контракт на метод? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:56 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Petro123Hettи подгрузить все зависимости в разных сервисах, Не понял. Получаем продукт с айдишниками FK. Т.е. ленивыми. В сервисном слое подгрузка автоматическая при попытке прочитать свойство. Так? Гмм, кстати да, оно и в моем примере теперь лишнее (eagerly загрузка). Я когда выносил в сервис, - упустил этот момент. Но чисто гипотетически. Гипотетически... возможна такая ситуация, когда в двух разных сервисах нужны будут данные полученные одинаковым запросом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:56 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Petro123HettВот как раз тот случай, когда у возникает вопрос: есть ли смысл передавать в метод всю сущность, если нужен только id.блин! Да как ты логику будешь писать если нужен Весь класс юзверь. А не его айди. Потом править контракт на метод? Ох да, я не увидел разницы в названии Trade и Trade r ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 10:57 |
|
||
|
Repository в Hibernate 5
|
|||
|---|---|---|---|
|
#18+
Hettвозможна такая ситуация, когда в двух разных сервисах нужны будут данные полученные одинаковым запросом.хибер обеспечивает одинаковый объект и межсессионну изолированность. Два разных сервиса это ничто в программировании. Ты про методы разные? Давай не усложнять хибер и орм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 11:01 |
|
||
|
|

start [/forum/moderation_log.php?user_name=%D0%91%D0%B8%D0%BB%D0%BB%D0%B8%D0%BD%D0%B3]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
148ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 442ms |
| total: | 730ms |

| 0 / 0 |

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