Spring Boot Jpa (Hibernate): добавляем связи между таблицами базы данных (one to many)

Spring Boot Jpa (Hibernate): добавляем связи между таблицами базы данных (one to many)

letsCode

6 лет назад

106,414 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

@Top-BestOf
@Top-BestOf - 20.07.2024 20:41

Здравствуйте. Как можно с вами связаться ? В лс если можно было бы.

Ответить
@vesh95
@vesh95 - 20.07.2024 17:29

Я всю жизнь жил на laravel и для меня было очень диким то, что база данных перенинициализируется при перезапуске, теряются данные. Это как продуктовых средах вообще работает когда мы выкатываем новую версию приложения? Или там просто проперти другие вгружаются?

Ответить
@Нео-у7м
@Нео-у7м - 15.10.2023 13:19

С одной стороны, конечно, подход автора "просто повторяй за мной" не очень подходит для обучения. Такой подход в изучении естественных языков хорош только в детстве и только в тот период, когда он легко усваивается. Иностранные же языки хоть и изучаются лучше внутри языковой среды, все равно надо понимать что именно ты говоришь и встраивать этот язык в свою текущую структуру знаний. Поэтому воспринимается тяжело.
С другой стороны, очень классно, что автор показывает кучу возможностей Spring'а и потом можно развивать написанное в демонстрационный проект, углубляясь в какие-то отдельные аспекты фреймворка.

Ответить
@Сергей-и8ж7в
@Сергей-и8ж7в - 15.07.2023 19:30

Ну короче хочу излить свою боль: по предыдущему видосу все получилось, но потом чет поломалось в плане при регистрации в базу инфу спринг заносил, а вот логиниться по этой инфе не хотел просто никак, присылал в ответ код 200, но с ошибкой и дальше не пускал. Я не буду говорить сколько времени я потратил на это 💩, в итоге я закастомил UserServiceDetails и все заработало. Но боль не в этом, хотя и в этом тоже... Боль в том, что начинаю я смотреть вот этот видос и вижу как ты начинаешь делать то, на что я угрохал килограмм времени 🥲🥲 НО за то я с ходу понял твои манипуляции, даже тупить не пришлось 😀😀
И да, пришлось проект на 5.х.х перевести, потому что как авторизовывать в security 6 я так и не разобрался)))

Ответить
@НикитаКорнюхин-я6щ
@НикитаКорнюхин-я6щ - 18.06.2023 17:40

Вопрос из 2023, почему мы не падаем в lazyinitexception? Удалось "пройти уровень" только замени LAZY на EAGER в поле roles. кто смог обойтись без этого? Мне не захотелось писать entityGraphs для этого, мб есть еще способы?

Ответить
@experimental_microbiology
@experimental_microbiology - 30.05.2023 21:45

WebSecurityConfigurerAdapter depricated. Будет разбор новой реализации конфига security?

Ответить
@ОаАо-х2д
@ОаАо-х2д - 03.12.2022 19:18

Ничего не работает. Всё устарело. Ты старый маразматичный кент. Если ничего не знаешь, не нужно делать гайды. У меня есть катана из лего. Всех неравнодушных прошу поставить лайк. Из комментариев узнал, что ты Андрей, а это плохо. Всем спасибо за внимание.

Ответить
@ЮрийКлименко-к3щ
@ЮрийКлименко-к3щ - 12.11.2022 20:07

Лайк, если зашел чтоб посмотреть как в Хибернейте устанавливать связи между таблицами, а в итоге 10 минут смотрел то, что никак не относится к этой теме

Ответить
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil - 12.11.2022 11:41

Правильно ли я понимаю, что если есть две сущности со связью "Один ко многим", например Сотрудник и ТелефоныСотрудника. То получать на сервере такие данные нужно в DTO одним вызовом, но двумя отдельными json? И записывать поочередно: сначала сотрудника, получить ID от сохраненного сотрудника, и потом записываем телефоны используя этот ID для связи.

Ответить
@ghostmyxamop600
@ghostmyxamop600 - 07.08.2022 18:59

А что делать, если AuthenticationPrincipal всегда null даёт? Попробовал на stackoverlow найти, но там на этот вопрос не ответили, а просто предложили делать по-другому, ну или я плохо искал

Ответить
@egorsimatov4924
@egorsimatov4924 - 04.08.2022 01:29

Привет из 2022 всем, кто использует thymeleaf , в классе WebSecurityConfig необходимо в конце метода configure добавить ".and().csrf().disable();", иначе при отправке post запросов возникнет 403. Если был полезен, ставьте лукас, буду рад)))

Ответить
@jordan_7894
@jordan_7894 - 13.07.2022 05:05

Здравствуйте, в БД записывается только id пользователя, колонка автоматически генерируется в bigint, и в шаблон приходит только цифра(я использую thymeleaf), почему у вас получается, а у меня нет? Это из-за mustache?

Ответить
@ДенисКошкаров-м3в
@ДенисКошкаров-м3в - 27.04.2022 12:11

Спасибо большое вам за ваш труд! Я начал знакомство со спрингом через серию ваших видео, и это мне очень помогло, чтобы почувствовать что можно делать с помощью данной технологии. Но чтобы разобраться подробно в происходящем мне потребовалось время и другие видео уроки и чтение документации. Хотелось бы чтобы вы подробнее разбирали что происходит при создании тех или иных полей, в частности показывали эти поля в базе данных и объясняли например, что когда вы делаете аннотацию @Entity то она нужна для создания таблице в базе данных, и объясняли что это технология реализована с помощью Hibernate. Чтобы у новичков было понимание что происходит и зачем это нужно. Можно это сделать в отдельном видео, например для тех кто хочет более подробно разобраться что происходит. И дать ссылку на это видео. Потому как мне например совсем было не очевидно, что с помощью аннотаций создается объект в базе данных, и не понятно как создаются эти поля и как спринг взаимодействует с этим объектом. Возможно вы это объясняли, но я не уловил, поправьте меня если что.

Ответить
@ruslanzubkov4297
@ruslanzubkov4297 - 30.01.2022 13:28

Хорошее занятие. Если можно поясните, метод Класса UserService userRepo.findByUsername(username) вызывается неявно? и на каком этапе именно?

Ответить
@lexbekker
@lexbekker - 04.01.2022 14:31

Дорогие друзья, не забудьте в файле main.mustache заменить форму
<form method="post" action="/">
на <form method="post">
Час копался в коде, сравнивая то с видео, то с гитом автора, искренне не понимая, почему в самом конце у меня после добавления сообщения на страницу вылетает непонятная ошибка без описания, что у меня какие-то проблемы с POST.
Уже отчаявшись и сравняв форматирование моего кода с кодом автора, понял, что различие только в этом, изменил и - ВУАЛЯ- всё взлетело-полетело не шипя. Жёстко, конечно

Ответить
@sladislaus3804
@sladislaus3804 - 16.07.2021 07:23

Автор спешит видимо, чтобы сделать дофига коротких видеороликов для просмотров, а на кой эти видео смотреть, если толком ни чего не рассказываешь, а в торопях гонишься не знай зачем. Да сделать все в точности так же как у него в видео можно, а толку ноль, ибо для чего было сделано то, что сделано не рассказано, додумывай сам называется. Так проше по офф докам на английском изучить, а не вот это

Ответить
@andreyyyymeee1323
@andreyyyymeee1323 - 26.06.2021 23:46

блять, 4 раза этот код с гиста запускаешь под разными роликками и пизда ошибка

Ответить
@samy_glavny
@samy_glavny - 07.06.2021 09:23

Это меняем на это потому-что так лучше, а это у нас деприкейтед потому-что им никто не пользуется, это просто копируем я потом объясню - в итоге в голове каша покруче той, что я ел на завтрак, а если добавить к этому скорость того, как все это приполносится(я как чувствую, что сейчас переключится вкладака, мой курсор со скоростью света летит на второй экран, чтоб нажать паузу - не всегда успеваю), то можно еще и руки подкачать мышкой)) а в целом формат крутой, не то, что большинство уроков на ютубе, где какой-то непонятный чел говорит через рацию пьяным и противным голосом, а еще отснято хорошо - ничего лишнего, только идея. Спасибо за труд

Ответить
@ОгаЛютый
@ОгаЛютый - 27.04.2021 07:05

Я не понимаю почему столько лайков, автор ничего в своих уроках не объясняет, просил особо не вникать, повторял всё один в один, теперь проект запускается с ошибкой, не знаю как идти дальше =)

Ответить
@isko_vlog6836
@isko_vlog6836 - 04.04.2021 14:28

Новые видео ждем от вас

Ответить
@isko_vlog6836
@isko_vlog6836 - 04.04.2021 14:27

Спасибо

Ответить
@aimsmoyk2222
@aimsmoyk2222 - 31.03.2021 15:49

Я же правильно понимаю, что spring за нас помещает пользователя в куки?

Ответить
@ViceIncGames
@ViceIncGames - 14.03.2021 14:30

Не могу добавить поле private User author; Ошибка: basic attribute type should not be persistence entity, а у автора без ошибок добавляется. Что не так?

Ответить
@ttop1ttop145
@ttop1ttop145 - 11.03.2021 16:50

проще было пересобрать бд и сделать как положенно, чем добавлять лишнюю проверку на автора

Ответить
@XaluDadayev
@XaluDadayev - 23.02.2021 05:45

Все отлично рассказано но очень короткая инфа. Глаза не успевают за мыслями а мысли за мышкой Андрея. ). Контент очень годный но быстрый и краткий в объяснениях.

Ответить
@vladimirilintcov6924
@vladimirilintcov6924 - 25.01.2021 00:14

спасибо автору за труд!

Ответить
@dmitriytsoy5558
@dmitriytsoy5558 - 19.12.2020 09:12

Авторизация работает, регистрация работает, но теперь слетает сохранение контента в базу данных. Убираю все, что связано с авторизацией - снова работает. Навскидку, в чем может быть проблема? Выдает ошибку 403

Ответить
@ДмитрийАнтонович-т2л
@ДмитрийАнтонович-т2л - 19.12.2020 02:16

Кто-нибудь, помогите, после данного урока перестала работать авторизация

Ответить
@АлексейСергеев-с7у
@АлексейСергеев-с7у - 27.11.2020 13:48

Вот только интересно, почему нельзя было сразу, в предыдущем уроке реализовать авторизацию через UserDetailService? Я всю голову сломал, пока реализовывал предыдущий урок, зная, что никто так не делает, и сращивая несколько источников в один. А тут, бац - и реализация через UserDetailService. Двойная и непонятная работа получается в связке с предыдущим уроком.

Ответить
@ilya7390
@ilya7390 - 06.11.2020 15:52

Спасибо за ролик, возник только один вопрос. Как удалять сообщения? Когда вызываю deleteById, спринг проставляет все поля null за исключение user_id и всё, много перепробовал и ничего не помогает :(

Ответить
@Mareldris
@Mareldris - 16.09.2020 19:40

Нихера не понял, но очень интересено

Ответить
@maxrus6173
@maxrus6173 - 31.08.2020 23:25

Если это видео для новичков, то тут конечно многовато пропущено(

Ответить
@amorten_
@amorten_ - 23.08.2020 14:29

Спасибо большое! Топ контент!

Ответить
@shadowzyxi758
@shadowzyxi758 - 28.07.2020 11:59

Огромное спасибо вам, вы единственный на ютубе у которого понятные уроки по спрингу)

Ответить
@ВикторияК-с5ц
@ВикторияК-с5ц - 23.07.2020 20:01

Еще один коммент от человека, который не оставляет комменты :) Крутой подход, спасибо автору. Следовал видео и получилось сделать крутой проект, который любопытно "докручивать" самому. Советы автора помогают не утонуть в деталях и не потерять мотивацию. Спасибо ребятам в комментах - если вы напоролись на ошибку, решения находил здесь же. Успехов!

Ответить
@Александр-э1о4ы
@Александр-э1о4ы - 08.07.2020 23:26

Привет! Как в idea сделать, чтобы открытые файлы отображались в 2 строки?

Ответить
@yav_oleksandr
@yav_oleksandr - 07.07.2020 18:13

Подскажите, пожалуйста, после добавления Секьюрити при добавлении нового Message или при нажатии на поиск по фильтру, начала выпадать 403я ошибка. Где провтык может быть? Спсибо

Ответить
@gaijin_nnsu
@gaijin_nnsu - 16.06.2020 11:08

Тут очень много можно было рассказать для понимания происходящего.
Я все повторил, оно работает, но почему и как понятно не очень. А самое главное, что структура стала менее понятна.

Ответить
@javohirabduxakimov8710
@javohirabduxakimov8710 - 10.06.2020 17:52

super

Ответить
@vitaliikoniev7815
@vitaliikoniev7815 - 13.05.2020 03:22

Почему заменили на authorName, откуда он берется?

Ответить
@andriyvandam5978
@andriyvandam5978 - 17.04.2020 19:02

Зверніть увагу!!! В кого не логіниться, дивіться в стектрейс, тип загрузки ролей був поміняний на EAGER!!!! В відео тої зміни просто не показали, в може я банально завтикав

Ответить
@vladatsman5464
@vladatsman5464 - 17.04.2020 16:17

а вот как сделать поиск не только по тегу а еще и по сообщению?

Ответить
@ДмитрийПинчук-и8щ
@ДмитрийПинчук-и8щ - 20.03.2020 23:38

Очень круто! Спасибо!!!

Ответить
@iyulkin
@iyulkin - 18.03.2020 22:59

Код аналогичен тому, что приведен в этом уроке.
В методе контроллера параметр Authentication auth - содержит данные о текущем пользователе,
@AuthenticationPrincipal User user = null и SecurityContextHolder.getContext().getAuthentication() = null.
В чем может быть причина?

Ответить
@sergeasanov4964
@sergeasanov4964 - 01.03.2020 22:39

Андрюха после предыд. урока, лайк сразу до просмотра видоса. т.к. щас прохожу курс по жабе для веба и как раз дошли до бута. Все доступно просто и локанично! Просто пушка ракета!
З.Ы. Четко что ты выводиш комбо клавиш на видосах!

Ответить
@duckpool288
@duckpool288 - 18.02.2020 23:44

Спасибо за качественный контент!

Ответить
@tetyanapetrenko2098
@tetyanapetrenko2098 - 03.02.2020 14:53

Добрый день! Спасибо за урок! Не совсем понятно <strong>{{authorName}}</strong> main.mustache - где мы взяли authorName ? Спасибо!

Ответить
@alexandralifirov8261
@alexandralifirov8261 - 17.01.2020 02:28

Спасибо за туториал! Скажите пожалуйста, как в таблице message сделать так, чтобы заполнялось поле author ? Сейчас заполняется только user_id.

Ответить

Служить России Ансамбль имени А.В.Александрова / Red Army Choir