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

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 พ.ค. 2022
  • Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября (Санкт-Петербург + трансляция).
    Подробности и билеты: jrg.su/Ypf1HW
    - -
    Поговорим про JPA и тонкие моменты, связанные с реализацией этой спецификации. Начнем с простых примеров: когда получается N+1 запрос и в каком случае Lazy не работает так, как интуитивно ожидается.
    Дальше углубимся в более сложные темы: поговорим про Entity Graphs и про то, какие неожиданности таит использование Lombok при использовании совместно с JPA.
    Также рассмотрим в чем особенности работы с JPA в Spring: как правильно размечать сущности, чтобы не было проблем с именами таблиц, и избежать неоднозначного именования методов в Spring Data JPA.
    Спикер - Андрей Беляев (Haulmont).
    Скачать презентацию: assets.ctfassets.net/oxjq45e8...
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 14

  • @sleepycakeawake
    @sleepycakeawake ปีที่แล้ว +6

    Блин спасибо вам за вашу работу, было полезно и весело!

  • @oleksandrvasylchenko316
    @oleksandrvasylchenko316 3 หลายเดือนก่อน

    За лоад режим в ентити граф спасибо!

  • @irinav3776
    @irinav3776 7 หลายเดือนก่อน

    С lombok много нервов потратила , и не понимала какого хрена это происходит) полезное видео , если бы ещё раньше посмотрела , сэкономила бы много времени

  • @xandrviking1113
    @xandrviking1113 ปีที่แล้ว

    Спасибо за доклад 👍🖖

  • @arturbarkou6347
    @arturbarkou6347 4 หลายเดือนก่อน

    Доклад ради доклада. Единственная польза его лишь в том, чтобы еще раз напомнить что все свои операции надо проверять, печатать запрос, и понимать что хибер часто ведет себя неочевидным образом. Две строчки вместо целого часа, не благодарите.

  • @mykola82
    @mykola82 6 หลายเดือนก่อน +1

    не понял в чём суть проблемы поиска по номеру телефону? Понятно же, что он ничего не найдёт по номеру "11-11-11", когда был добавлен номер "33-33-33" (на 56:45)

    • @BornToNight
      @BornToNight 3 หลายเดือนก่อน

      Скорее всего в таблице Phone был объект с полем number "11-11-11". Как я понял, показали проблему, что у нас в Owner есть поле phoneNumber и то как Spring разрулил (искать по полю или по объекту Phone и его полю Number)

  • @konstantingromov6485
    @konstantingromov6485 ปีที่แล้ว +2

    Интересный доклад, очередной раз убеждаюсь, что Хибернейт - это тот еще велосипед с костылями и во многих случаях его лучше заменять (особенно для чтения).
    А кто подскажет почему в spring date изобрели велосипед с _ вместо . для поиска/сортировки вложенных полей?

    • @NeptuneCasto
      @NeptuneCasto ปีที่แล้ว

      Нижне подчеркивание, это только в dynamic finders, и на такой код обычно ругается sonar (название метода противоречит шаблону). Если ты пользуешься _ для поиска по вложенной сущности, то скорее всего с твоей моделью что-то не так или тебе лень написать jpql или спецификацию. Или ты не из той сущности обращаешься. (при связи one-to-one это решается просто из репозитория дочерней сущности по ссылке на родителя) Я обычно прошу заменять такие запросы. Даже просто превратив запрос в jqpl через intellij. А в там уже можно и джоин и массив ид полученных ранее передать.

    • @Daniel-mo1iy
      @Daniel-mo1iy ปีที่แล้ว

      Согласен. Я буквально вчера перешёл на spring data - возвращаться на голый jpa уже не хочу! И надеюсь не придется

  • @AlexKorotkov
    @AlexKorotkov 8 หลายเดือนก่อน

    Пацаны, сущности сравниваются по идентификаторам (или бизнес-ключам). зачем в иквелз зависимые сущности тащить?

  • @user-zl5fj4vl1t
    @user-zl5fj4vl1t ปีที่แล้ว

    Зачем знать id Colar (дочерней сущности ) чтобы вытащить Родительскую? Это делается нормально в запроса лениво: селект(Pet) и селект(Colar where pet_id = x).

  • @vitaliiivanov9514
    @vitaliiivanov9514 9 หลายเดือนก่อน +2

    По мне так от Lombok вреда намного больше, чем пользы. Если не нравится boilerplate, просто используйте другой язык, например, Kotlin

  • @Anonimus_13
    @Anonimus_13 5 หลายเดือนก่อน

    А что за тема такая в IDEA, не белая, не черная, как будто слегка желтая бумага?