Усложнённый маппинг Entity в DTO в Spring Boot: Разбираем связи One-to-Many и другие

Поділитися
Вставка
  • Опубліковано 24 січ 2025

КОМЕНТАРІ • 12

  • @Дмитрий-м5х7я
    @Дмитрий-м5х7я 18 днів тому +1

    Спасибо!!! Класс!!!

  • @viktorii00
    @viktorii00 18 днів тому

    Ну краш

  • @Sst886
    @Sst886 16 днів тому

    Материал хороший, спасибо! Уже был знаком с мэпстракт, но решил освежить и прошелся по своему проекту. У меня все работает и без добавления в uses главного класса (интефейса), т.к. конверт методы прописаны в одном и том же интефейсе. Теперь знаю как правильно разнести по сущностному признаку в разные интефейсы!
    Без лайвкодинга по-моему лучше. Можете только рассказать про суть и смысл @AfterMapping? в каких случаях использовать?

    • @JavaRangers
      @JavaRangers  16 днів тому +1

      @AfterMapping используется в MapStruct для добавления кастомной логики после автоматического маппинга. Это нужно, чтобы настроить или дополнить смапленный объект, например, установить зависимости между полями, заполнить недостающие данные или выполнить валидацию результата.

    • @Sst886
      @Sst886 16 днів тому

      @JavaRangers спасибо!! В качестве варианта темы для след видео: Join-ы в SQL скриптах, особенно inner и outer

  • @scalar3513
    @scalar3513 16 днів тому

    про cascade
    detach - отсоединяет связанные сущности при отсоединении родительской.
    Вопрос: при отсоединении родительской сущности от чего?
    Чем отличается merge vs refresh?

    • @JavaRangers
      @JavaRangers  16 днів тому +1

      Родительская сущность отсоединяется от контекста постоянства (Persistence Context), который управляется EntityManager. Это означает, что объект больше не отслеживается, и изменения в нём не будут автоматически синхронизироваться с базой данных. Если задан каскад CascadeType.DETACH, то все связанные дочерние сущности также отсоединяются.
      merge используется для синхронизации изменений отсоединённой сущности с базой данных, то есть её состояние объединяется с управляемой версией в контексте. refresh, наоборот, откатывает текущую сущность к состоянию из базы данных, перезаписывая любые несохранённые изменения. Таким образом, merge обновляет базу данными из сущности, а refresh - сущность данными из базы.

    • @scalar3513
      @scalar3513 16 днів тому

      @JavaRangers от.. совсем другое дело!! Красота. Спасибо 🔥🤸🏽‍♂️

  • @ровойт
    @ровойт 18 днів тому

    хотел спросить может кто-то сталкивался с таким - установил идею версия 2024.3 и не работает ломбок, а без ломбока как то не очень. все перепробовал не знаю что делать

    • @Almiron182
      @Almiron182 18 днів тому +1

      Могу только рассказать как Фиксил те проблемы которые у меня были с ломбоком, вдруг поможет 🤷‍♂️
      В градле иногда требуется еще три дополнительные строчки для зависимости, вроде если создавать проект через идею то добавляется только одна строка, с самой зависимостью ломбока, в интернете можно найти полную версию зависимости, там вроде еще какие то строки есть
      В Мавене у меня например про создании проекта ломбок добавляется так же в плагины, с этими плагинами не работает, но если их удалить и оставить только зависимость в теге то начинает работать

    • @ровойт
      @ровойт 17 днів тому

      @@Almiron182 спасибо уже работает

  • @Александр-т5з6ы
    @Александр-т5з6ы 14 днів тому

    1:30 и 2:50 текст повторяется