Транзакции. Теория и практика на Spring

Поделиться
HTML-код
  • Опубликовано: 3 ноя 2024

Комментарии • 37

  • @АлександрИльин-и3я
    @АлександрИльин-и3я 8 месяцев назад +1

    Спасибо за инфу) но по поводу lost update, и то что ты привел в пример, данная проблема решается только на уровне изоляции, repeatable read, или через optimistic, pessimistic locks. Если и указывать аномалию которая по умолчанию решается во всех современных субд, так это - dirty write. На эту тему можешь почитать книгу high perfomanse java persistence, там в разделе транзакции найдешь ответы и закроешь всю базу по этим моментам

    • @kismichel17
      @kismichel17  8 месяцев назад +1

      Привет) Моя большая ошибка, что я не рассказал подробнее, что имел ввиду только запросы на обновления без сохранения значения столбца в отдельную переменную
      habr.com/ru/companies/infopulse/articles/261097/
      Про блокировки знаем и активно используем, но за книгу спасибо)

  • @Артем-п6ф9э
    @Артем-п6ф9э 9 месяцев назад +8

    Спасибо за видео, очень понятно объяснено. Был бы очень рад увидеть от тебя видео про Kafka и Redis, с примером использования их в реально приложении, еще раз спасибо!

  • @МаксимЯровицын-р1н
    @МаксимЯровицын-р1н 9 месяцев назад +3

    Очень чётко мужик. Видосы очень нравятся. Смотрю и прожимаю лайки. Не бросай эту затею

  • @АрабовМуллошараф
    @АрабовМуллошараф 9 месяцев назад +3

    Отлично, молодец, старый друг! Всегда на высоте, без лишних слов.

  • @mishaprokopovich5253
    @mishaprokopovich5253 4 месяца назад +1

    ультрахорош, все по полочкам, отлично рассказал

  • @АлександрБуров-п1м
    @АлександрБуров-п1м 9 месяцев назад +2

    Хорооош! Спасибо, круто объясняешь! Самое лучшее что я видел по транзакциям.

  • @AsdynGerhvish
    @AsdynGerhvish 9 месяцев назад +1

    Огромное спасибо за видео, смотрел с большим удовольствием, очень интересно и понятно объясняешь. Буду с нетерпением ждать новых видео 🔥🔥

  • @dreamer_vi905
    @dreamer_vi905 7 месяцев назад +1

    Прошёлся по многим видео и статьям, а нашёл что искал именно тут. Интересовала работа аннотации Transactional именно в зависимости от её свойств. То что надо. Спасибо большое!

    • @kismichel17
      @kismichel17  7 месяцев назад +1

      Спасибо, приятно)

  • @koshak7112
    @koshak7112 7 месяцев назад

    Очень круто, многого не знал) Продолжай выпускать видео, пожалуйста! Прям находка для Java разработчика!

  • @nostradamus_tech
    @nostradamus_tech 9 месяцев назад +1

    Видосы реально хорошие, молодец, выпускай еще по кишкам спринга, как все внутри организовано, про кафку итд. Лайк!👍👍👍

  • @wildjoe6259
    @wildjoe6259 9 месяцев назад +2

    Спасибо! Как обычно радуешь дельными видео!

    • @kismichel17
      @kismichel17  9 месяцев назад

      Благодарю ☺️

  • @evilroad36
    @evilroad36 9 месяцев назад +1

    Круто, молодец, как всегда все по теме без лишней воды.

    • @kismichel17
      @kismichel17  9 месяцев назад

      Благодарю ☺️

  • @MgsMen
    @MgsMen 8 месяцев назад

    Супер, четко, лайк. Ещё б ссылку на статью

  • @GermanBoldyrev
    @GermanBoldyrev 8 месяцев назад

    Привет, рад что нашел твой канал. Очень интересный ролики. Хотелось ты только попросить шрифт в иде побольше поставить. Просто лично мне приходится вглядываться, а это отвлекает от инфы

    • @kismichel17
      @kismichel17  8 месяцев назад +1

      Привет, учту в новых роликах, спасибо)

  • @666kirillka
    @666kirillka 6 месяцев назад

    Нормально шаришь,подписался

  • @sergeng-gd5ev
    @sergeng-gd5ev 8 месяцев назад

    Спасибо

  • @andd3dfx
    @andd3dfx Месяц назад

    Вместо того, чтобы каждый раз набирать выражение для получения флага наличия транзакции - можно в IDEA добавить вычисляемое значение через "Add watch" и в любой момент видеть его значение

    • @kismichel17
      @kismichel17  Месяц назад

      Не знал, спасибо

  • @psevdonim_youtube147
    @psevdonim_youtube147 9 месяцев назад +1

    жаль, что видосы так редко выходят

  • @eduardklygunov1412
    @eduardklygunov1412 9 месяцев назад

    Годнота

  • @IgoryanCemz
    @IgoryanCemz 9 месяцев назад

    Спасибо за ролик, очень круто! Вот по поводу ридОнли. В хибере там тоже коммита не будет? Или там только что-то типа грязных обновлений не будет, что если мы сущность вытащили, а потом будем ее менять, то он не будет это отслеживать и флашить ее измененную обратно перед коммитом, а вот сейв, делит и т.д. будут закоммичены. Или там тоже вот так, как в спринге?

    • @kismichel17
      @kismichel17  9 месяцев назад

      Если имеешь ввиду использование Hibernate напрямую через Session, то работает точно так же, если TransactionManager у SessionFactory тот же самый
      Но, честно говоря, на проектах такого не видел. Spring JPA и так использует Hibernate как дефолтную реализацию, а оперировать интерфейсами jpa намного приятнее

  • @Max13297
    @Max13297 9 месяцев назад

    спасибо за контент!
    подскажи какой плагин используешь в идее чтобы разными цветами код был?

    • @kismichel17
      @kismichel17  9 месяцев назад

      plugins.jetbrains.com/plugin/15727-xcode-theme

  • @МаксимЯровицын-р1н
    @МаксимЯровицын-р1н 8 месяцев назад

    Огромное спасибо за видос. Частенько возвращаюсь к нему освежить какие ответы на вопросы. Но есть такой вопрос когда ставим propagation = Propagation.REQUIRES_NEW, у нас открывается независимая транзакция, а есть ли способ открыть субтранзакцию, что бы при ролбеке внешней откатывал и внутреннюю?

    • @kismichel17
      @kismichel17  8 месяцев назад +1

      Привет, приятно слышать)
      Вообще так работает Propagation.NESTED, но тут есть проблема с поддержкой через JPA. Стоит подумать, действительно ли нужна субтранзакция. Возможно, достаточно использовать Required

    • @МаксимЯровицын-р1н
      @МаксимЯровицын-р1н 8 месяцев назад

      @@kismichel17 Спасибо большое за ответ. Да, тут больше вопрос в надобности, но стало чисто интересно имеем ли мы техническую возможность явно это сделать.

  • @petrovskyV
    @petrovskyV 8 месяцев назад

    А что значит работает в режиме автокомита? Может кто объяснить. Что куда комитится?

    • @kismichel17
      @kismichel17  8 месяцев назад

      Привет) Это значит, что каждый запрос к бд выполняется в отдельной независимой транзакции