Андрей Беляев - JPA-паззлеры (+Hibernate и Spring)

  Рет қаралды 21,481

JPoint, Joker и JUG ru

JPoint, Joker и JUG ru

2 жыл бұрын

Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября (Санкт-Петербург + трансляция).
Подробности и билеты: jrg.su/Ypf1HW
- -
Поговорим про JPA и тонкие моменты, связанные с реализацией этой спецификации. Начнем с простых примеров: когда получается N+1 запрос и в каком случае Lazy не работает так, как интуитивно ожидается.
Дальше углубимся в более сложные темы: поговорим про Entity Graphs и про то, какие неожиданности таит использование Lombok при использовании совместно с JPA.
Также рассмотрим в чем особенности работы с JPA в Spring: как правильно размечать сущности, чтобы не было проблем с именами таблиц, и избежать неоднозначного именования методов в Spring Data JPA.
Скачать презентацию: assets.ctfassets.net/oxjq45e8...

Пікірлер: 14
@sleepycakeawake
@sleepycakeawake Жыл бұрын
Блин спасибо вам за вашу работу, было полезно и весело!
@oleksandrvasylchenko316
@oleksandrvasylchenko316 Ай бұрын
За лоад режим в ентити граф спасибо!
@irinav3776
@irinav3776 6 ай бұрын
С lombok много нервов потратила , и не понимала какого хрена это происходит) полезное видео , если бы ещё раньше посмотрела , сэкономила бы много времени
@xandrviking1113
@xandrviking1113 11 ай бұрын
Спасибо за доклад 👍🖖
@konstantingromov6485
@konstantingromov6485 Жыл бұрын
Интересный доклад, очередной раз убеждаюсь, что Хибернейт - это тот еще велосипед с костылями и во многих случаях его лучше заменять (особенно для чтения). А кто подскажет почему в spring date изобрели велосипед с _ вместо . для поиска/сортировки вложенных полей?
@NeptuneCasto
@NeptuneCasto Жыл бұрын
Нижне подчеркивание, это только в dynamic finders, и на такой код обычно ругается sonar (название метода противоречит шаблону). Если ты пользуешься _ для поиска по вложенной сущности, то скорее всего с твоей моделью что-то не так или тебе лень написать jpql или спецификацию. Или ты не из той сущности обращаешься. (при связи one-to-one это решается просто из репозитория дочерней сущности по ссылке на родителя) Я обычно прошу заменять такие запросы. Даже просто превратив запрос в jqpl через intellij. А в там уже можно и джоин и массив ид полученных ранее передать.
@Daniel-mo1iy
@Daniel-mo1iy Жыл бұрын
Согласен. Я буквально вчера перешёл на spring data - возвращаться на голый jpa уже не хочу! И надеюсь не придется
@mykola82
@mykola82 4 ай бұрын
не понял в чём суть проблемы поиска по номеру телефону? Понятно же, что он ничего не найдёт по номеру "11-11-11", когда был добавлен номер "33-33-33" (на 56:45)
@BornToNight
@BornToNight Ай бұрын
Скорее всего в таблице Phone был объект с полем number "11-11-11". Как я понял, показали проблему, что у нас в Owner есть поле phoneNumber и то как Spring разрулил (искать по полю или по объекту Phone и его полю Number)
@arturbarkou6347
@arturbarkou6347 2 ай бұрын
Доклад ради доклада. Единственная польза его лишь в том, чтобы еще раз напомнить что все свои операции надо проверять, печатать запрос, и понимать что хибер часто ведет себя неочевидным образом. Две строчки вместо целого часа, не благодарите.
@AlexKorotkov
@AlexKorotkov 7 ай бұрын
Пацаны, сущности сравниваются по идентификаторам (или бизнес-ключам). зачем в иквелз зависимые сущности тащить?
@user-zl5fj4vl1t
@user-zl5fj4vl1t Жыл бұрын
Зачем знать id Colar (дочерней сущности ) чтобы вытащить Родительскую? Это делается нормально в запроса лениво: селект(Pet) и селект(Colar where pet_id = x).
@vitaliiivanov9514
@vitaliiivanov9514 7 ай бұрын
По мне так от Lombok вреда намного больше, чем пользы. Если не нравится boilerplate, просто используйте другой язык, например, Kotlin
@Anonimus_13
@Anonimus_13 4 ай бұрын
А что за тема такая в IDEA, не белая, не черная, как будто слегка желтая бумага?
A Spring Data’s Guide to Persistence
53:55
SpringDeveloper
Рет қаралды 13 М.
WHY THROW CHIPS IN THE TRASH?🤪
00:18
JULI_PROETO
Рет қаралды 6 МЛН
Be kind🤝
00:22
ISSEI / いっせい
Рет қаралды 23 МЛН
Sprinting with More and More Money
00:29
MrBeast
Рет қаралды 163 МЛН
The delivery rescued them
00:52
Mamasoboliha
Рет қаралды 9 МЛН
JVM ( java virtual machine) architecture - tutorial
29:16
Ranjith ramachandran
Рет қаралды 508 М.
Евгений Борисов - Spring Patterns
56:38
TechTrain
Рет қаралды 127 М.
Николай Алименков - Босиком по граблям Hibernate
50:57
Блеск и нищета Hibernate
53:24
JPoint, Joker и JUG ru
Рет қаралды 6 М.
Что такое JDBC? Что такое ORM, Hibernate & JPA?
12:59
Sergey Nemchinskiy
Рет қаралды 71 М.
Евгений Борисов - Spring Data? Да, та!
50:04
JPoint, Joker и JUG ru
Рет қаралды 102 М.
Никита Летов - Используем @Transactional like a Pro
1:16:31
JPoint, Joker и JUG ru
Рет қаралды 50 М.
ЭТОТ ЗАБЫТЫЙ ФЛАГМАН СИЛЬНО ПОДЕШЕВЕЛ! Стоит купить...
12:54
Thebox - о технике и гаджетах
Рет қаралды 157 М.
Main filter..
0:15
CikoYt
Рет қаралды 2 МЛН
wireless switch without wires part 6
0:49
DailyTech
Рет қаралды 2,1 МЛН
Дени против умной колонки😁
0:40
Deni & Mani
Рет қаралды 11 МЛН