Повний огляд Spring Data JPA 🤘

  Рет қаралды 4,843

Bobocode

Bobocode

Күн бұрын

👉 Приєднуйся до Bobocode Community: www.bobocode.com/
_________________________________________________________
Наш 𝙋𝙖𝙩𝙧𝙚𝙤𝙣: / bobocode
Наш 𝙂𝙞𝙩𝙃𝙪𝙗: github.com/bobocode-projects
_________________________________________________________
Bobocode Telegram-канал: t.me/bobocode​
Bobocode Linkedin: bit.ly/2RWPQF5
Bobocode в Twitter: bit.ly/3vaQiOl
Тарас в LinkedIn: bit.ly/2ElWg8J
Тарас в Twitter: bit.ly/33Pmuwg
________________________________________________________
29-те заняття тренувальної програми Ultimate Enterprise Java (2021).
УВАГА! Відеозапис не містить активної частини заняття.
00:00 - Нарізка основних моментів
01:58 - Початок
03:32 - Spring Data
05:22 - Spring Data JPA
05:41 - Патерн Repository в Spring Data JPA
10:02 - Transaction Manager
11:39- На що звертати увагу при розробці Persistence Layer на базі JPA
15:49 - Spring data JPA Demo
17:28 - Мінімальний набір проперті, щоб під’єднатись до бази даних🔥
19:41 - інтерфейс JpaRepository
22:59 - Генерація запитів по імені метода
26:00 - JPQL запити через анотацію @Query
31:50 - Патерн DTO
34:49 - Pagenation в Spring data
44:11 - Мапінг в DTO з допомогою JPQL
50:23 - Мапінг в DTO за іменем і параметрами метода
01:02:40 - Як вигрузити дані з бази у вигляді Stream?🤔
01:13:19 - Коли є сенс використовувати стрімінг для вигрузки даних з бази?
01:20:08 - DTO в коді vs VIEW на стороні бази даних
#opensource #java #education

Пікірлер: 26
@Bobocode
@Bobocode Жыл бұрын
👉 Навчання від Bobocode: bit.ly/3IRrJhj
@user-ew8ne4iy9b
@user-ew8ne4iy9b Жыл бұрын
Дуже круте відео, працюю із spring jpa приблизно 2 роки, але всерівно дізнався багато нового. Дякую за контент!
@trnrvl
@trnrvl Жыл бұрын
Класне відео! Радий що знімаєте ! Не зупиняйтесь (шукав українсько-мовний контент по java дуже довго)
@MrRomanvideo
@MrRomanvideo Жыл бұрын
Лайк, подписка, комментарий в поддержку крутого контента на ютубе.
@user-if4ts7dh5e
@user-if4ts7dh5e Жыл бұрын
Бобокод красавела! Йой!
@Bobocode
@Bobocode Жыл бұрын
Йой! :)
@user-nq4bt9lm2d
@user-nq4bt9lm2d 10 ай бұрын
Дякую. Дуже корисне та пізнавальне відео.
@Bobocode
@Bobocode 9 ай бұрын
Дякую!
@feoktant
@feoktant Жыл бұрын
Писав довгий коментар з чим я там не згодний, а потім витер. Тож просто коментар, щоб канал розвивався)
@Bobocode
@Bobocode Жыл бұрын
Ну ти мене заінтригував. Тепер поділися, будь ласка, з чим не згоден :) Дякую 🙂
@feoktant
@feoktant Жыл бұрын
​@@Bobocode скорше пару речень, на скільки тема з репозиторієм широка. У Фаулера окрім визначення майже немає коду. Він одразу переходить до QueryObject і Criteria, хоча репозиторій може бути і без них, як описує Еванс у ДДД (Фаулер на нього часто ссилається). Мене визначення по Фаулеру сильно збило у свій час, ніби репозиторій - то просто CRUD, через collection-like операції. Головна ж domain model, з*являється різниця між DAO і Repository. Цей паттерн дуже крутий, кочує між різними мовами і фреймворками. Але у Фаулера він описаний по Хібернейту) Треба починати свої відео робити
@andriipiatnytskyi9562
@andriipiatnytskyi9562 Жыл бұрын
А як бути, якщо хочеться на фронт передавати різні DTO однієї ентіті з контролера? В SpringDataRest як раз projections забезпечують варінт віддати таку дто, або іншу тільки по суті передачею імені projection як get параметр. В простому контроллері треба під кожний варіант писати смій метод? Чи можна якось також параметром передати з фронта, як в відео в репозиторій прокидували класс?
@feoktant
@feoktant Жыл бұрын
Щодо findAll. На багатьох проектах бази були великі. І викликати findAll() або count() означало моментальний гнів девопсів. Пул забивається, запит іде пару хвилин, і особливо нічого я зробити не можу. Щойно побачив ще findAll(sort) - це за межами добра і зла( Чому такі небезпечні операції є в стандартному інтерфейсі Repository?
@mykhailomolnar2432
@mykhailomolnar2432 Жыл бұрын
А ви використовули пагінацію чи мудрували з індексами? І замість count() робили explain analyze?
@feoktant
@feoktant Жыл бұрын
@@mykhailomolnar2432 робив і пагінацію, і seek method, і стримінг. Дивлячись до була за задача. З count може бути трохи простіше, бо в деяких базах є на кшталт приблизний count (mongo). Якщо не помиляюся, MySQL, Elastic такий запит переварять легко. З Postgres були питання. Так, зазвичай був eplain analyze, після того яr на проді моніторилися і логувалися найбільш довгі запити.
@baibula
@baibula Жыл бұрын
Крутий урок! Скажіть, ніхто не знає, на 25:42 там де підказки до назв derived methods, це фішка Ultimate версії IntelliJ чи може плагін якийсь? ))
@Bobocode
@Bobocode Жыл бұрын
Це, напевно, якись плагін від Spring.
@baibula
@baibula Жыл бұрын
​@@Bobocode дякую!
@antonignatenko7776
@antonignatenko7776 Жыл бұрын
я прошу прощения , а разве это правильно обращаться из контроллера к репозиторию на прямую без сервиса или это просто в обучающих целях как тест
@Bobocode
@Bobocode Жыл бұрын
Це просто в навчальних цілях
@AlexSmith-oe6pr
@AlexSmith-oe6pr Жыл бұрын
MVC - a feature, not a bug.
@user-xf4ht5uc1p
@user-xf4ht5uc1p 7 ай бұрын
Довго не міг зрозуміти чому у мене немає distinct і не дублюються Persons - тут kzfaq.info/get/bejne/l7Cln8iYz9e7das.html Виявилось, що залежить від версії спрінга (тепер більш пізня версія є і Jakarta мабуть це врахувала)
@Bobocode
@Bobocode 7 ай бұрын
Привіт. Так, дякую, що підмітили. Це насправді залежить від версії Hibernate. *From Hibernate ORM 6, distinct is always passed to the SQL query and the flag QueryHints**#HINT_PASS_DISTINCT_THROUGH** has been removed.* Тут можна прочитати більш детально: docs.jboss.org/hibernate/orm/6.0/migration-guide/migration-guide.html#query-sqm-pass-thru
@MrYougetit
@MrYougetit Жыл бұрын
"Оцю штуку" потрібно викорінювати з лексикону - дуже била по вухах. Контент Ок, авторові вподобайка. Для мене - заповільне подання матеріалу :)
@intBRiNGER
@intBRiNGER Жыл бұрын
Звичайний сленг. Часто чую від зарубіжних спікерів фразу "this guy" :-)
@MrYougetit
@MrYougetit Жыл бұрын
@@intBRiNGER не згоден з формулюванням що це сленг
Вступ до ORM, JPA та Hibernate
1:01:04
Bobocode
Рет қаралды 4,7 М.
Be kind🤝
00:22
ISSEI / いっせい
Рет қаралды 19 МЛН
How many pencils can hold me up?
00:40
A4
Рет қаралды 18 МЛН
Dynamic #gadgets for math genius! #maths
00:29
FLIP FLOP Hacks
Рет қаралды 18 МЛН
ONE MORE SUBSCRIBER FOR 6 MILLION!
00:38
Horror Skunx
Рет қаралды 13 МЛН
Be kind🤝
00:22
ISSEI / いっせい
Рет қаралды 19 МЛН