Спасибо за инфу) но по поводу lost update, и то что ты привел в пример, данная проблема решается только на уровне изоляции, repeatable read, или через optimistic, pessimistic locks. Если и указывать аномалию которая по умолчанию решается во всех современных субд, так это - dirty write. На эту тему можешь почитать книгу high perfomanse java persistence, там в разделе транзакции найдешь ответы и закроешь всю базу по этим моментам
Привет) Моя большая ошибка, что я не рассказал подробнее, что имел ввиду только запросы на обновления без сохранения значения столбца в отдельную переменную habr.com/ru/companies/infopulse/articles/261097/ Про блокировки знаем и активно используем, но за книгу спасибо)
Спасибо за видео, очень понятно объяснено. Был бы очень рад увидеть от тебя видео про Kafka и Redis, с примером использования их в реально приложении, еще раз спасибо!
Прошёлся по многим видео и статьям, а нашёл что искал именно тут. Интересовала работа аннотации Transactional именно в зависимости от её свойств. То что надо. Спасибо большое!
Привет, рад что нашел твой канал. Очень интересный ролики. Хотелось ты только попросить шрифт в иде побольше поставить. Просто лично мне приходится вглядываться, а это отвлекает от инфы
Вместо того, чтобы каждый раз набирать выражение для получения флага наличия транзакции - можно в IDEA добавить вычисляемое значение через "Add watch" и в любой момент видеть его значение
Спасибо за ролик, очень круто! Вот по поводу ридОнли. В хибере там тоже коммита не будет? Или там только что-то типа грязных обновлений не будет, что если мы сущность вытащили, а потом будем ее менять, то он не будет это отслеживать и флашить ее измененную обратно перед коммитом, а вот сейв, делит и т.д. будут закоммичены. Или там тоже вот так, как в спринге?
Если имеешь ввиду использование Hibernate напрямую через Session, то работает точно так же, если TransactionManager у SessionFactory тот же самый Но, честно говоря, на проектах такого не видел. Spring JPA и так использует Hibernate как дефолтную реализацию, а оперировать интерфейсами jpa намного приятнее
Огромное спасибо за видос. Частенько возвращаюсь к нему освежить какие ответы на вопросы. Но есть такой вопрос когда ставим propagation = Propagation.REQUIRES_NEW, у нас открывается независимая транзакция, а есть ли способ открыть субтранзакцию, что бы при ролбеке внешней откатывал и внутреннюю?
Привет, приятно слышать) Вообще так работает Propagation.NESTED, но тут есть проблема с поддержкой через JPA. Стоит подумать, действительно ли нужна субтранзакция. Возможно, достаточно использовать Required
@@kismichel17 Спасибо большое за ответ. Да, тут больше вопрос в надобности, но стало чисто интересно имеем ли мы техническую возможность явно это сделать.
Спасибо за инфу) но по поводу lost update, и то что ты привел в пример, данная проблема решается только на уровне изоляции, repeatable read, или через optimistic, pessimistic locks. Если и указывать аномалию которая по умолчанию решается во всех современных субд, так это - dirty write. На эту тему можешь почитать книгу high perfomanse java persistence, там в разделе транзакции найдешь ответы и закроешь всю базу по этим моментам
Привет) Моя большая ошибка, что я не рассказал подробнее, что имел ввиду только запросы на обновления без сохранения значения столбца в отдельную переменную
habr.com/ru/companies/infopulse/articles/261097/
Про блокировки знаем и активно используем, но за книгу спасибо)
Спасибо за видео, очень понятно объяснено. Был бы очень рад увидеть от тебя видео про Kafka и Redis, с примером использования их в реально приложении, еще раз спасибо!
Очень чётко мужик. Видосы очень нравятся. Смотрю и прожимаю лайки. Не бросай эту затею
Спасибо 🔥
Отлично, молодец, старый друг! Всегда на высоте, без лишних слов.
Приятно 🙏
ультрахорош, все по полочкам, отлично рассказал
Хорооош! Спасибо, круто объясняешь! Самое лучшее что я видел по транзакциям.
Огромное спасибо за видео, смотрел с большим удовольствием, очень интересно и понятно объясняешь. Буду с нетерпением ждать новых видео 🔥🔥
Прошёлся по многим видео и статьям, а нашёл что искал именно тут. Интересовала работа аннотации Transactional именно в зависимости от её свойств. То что надо. Спасибо большое!
Спасибо, приятно)
Очень круто, многого не знал) Продолжай выпускать видео, пожалуйста! Прям находка для Java разработчика!
Видосы реально хорошие, молодец, выпускай еще по кишкам спринга, как все внутри организовано, про кафку итд. Лайк!👍👍👍
Спасибо! Как обычно радуешь дельными видео!
Благодарю ☺️
Круто, молодец, как всегда все по теме без лишней воды.
Благодарю ☺️
Супер, четко, лайк. Ещё б ссылку на статью
Привет, рад что нашел твой канал. Очень интересный ролики. Хотелось ты только попросить шрифт в иде побольше поставить. Просто лично мне приходится вглядываться, а это отвлекает от инфы
Привет, учту в новых роликах, спасибо)
Нормально шаришь,подписался
Спасибо
Вместо того, чтобы каждый раз набирать выражение для получения флага наличия транзакции - можно в IDEA добавить вычисляемое значение через "Add watch" и в любой момент видеть его значение
Не знал, спасибо
жаль, что видосы так редко выходят
Годнота
Спасибо ☺️
Спасибо за ролик, очень круто! Вот по поводу ридОнли. В хибере там тоже коммита не будет? Или там только что-то типа грязных обновлений не будет, что если мы сущность вытащили, а потом будем ее менять, то он не будет это отслеживать и флашить ее измененную обратно перед коммитом, а вот сейв, делит и т.д. будут закоммичены. Или там тоже вот так, как в спринге?
Если имеешь ввиду использование Hibernate напрямую через Session, то работает точно так же, если TransactionManager у SessionFactory тот же самый
Но, честно говоря, на проектах такого не видел. Spring JPA и так использует Hibernate как дефолтную реализацию, а оперировать интерфейсами jpa намного приятнее
спасибо за контент!
подскажи какой плагин используешь в идее чтобы разными цветами код был?
plugins.jetbrains.com/plugin/15727-xcode-theme
Огромное спасибо за видос. Частенько возвращаюсь к нему освежить какие ответы на вопросы. Но есть такой вопрос когда ставим propagation = Propagation.REQUIRES_NEW, у нас открывается независимая транзакция, а есть ли способ открыть субтранзакцию, что бы при ролбеке внешней откатывал и внутреннюю?
Привет, приятно слышать)
Вообще так работает Propagation.NESTED, но тут есть проблема с поддержкой через JPA. Стоит подумать, действительно ли нужна субтранзакция. Возможно, достаточно использовать Required
@@kismichel17 Спасибо большое за ответ. Да, тут больше вопрос в надобности, но стало чисто интересно имеем ли мы техническую возможность явно это сделать.
А что значит работает в режиме автокомита? Может кто объяснить. Что куда комитится?
Привет) Это значит, что каждый запрос к бд выполняется в отдельной независимой транзакции