Найти тему
letsCode

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

Добавляем связь между таблицами БД: при создании сообщений мы указываем автора этого сообщения. Также мы рассматриваем, как можно получить текущего пользователя в контроллере.

Для получения этого результата мы добавляем сервис, реализующий интерфейс UserDetailsService, содержащий только один метод: получение пользователя по его имени. Ровно такой метод уже реализован у нас в репозитории UserRepo, соответственно мы переиспользуем этот репозиторий.

Далее нам необходимо расширить наш класс User интерфейсом UserDetails, т.к. именно его возвращает созданный нами сервис. Также в рамках изменений в логике нашего приложения enum Role должен реализовывать интерфейс GrantedAuthority.

После этого убираем лишние настройки в WebSecurityConfig, заменяя их на нашу реализацию UserDetailsService и модифицируем шаблоны страниц.

Репозиторий с кодом из видео:

https://github.com/drucoder/sweater/tree/OneToManyMapping

Канал в Telegram: https://t.me/letsCode_dru

Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-Nw

Ссылка на плейлист: https://www.youtube.com/playlist?list=PLU2ftbIeotGpAYRP9Iv2KLIwK36-o_qYk

Ссылка на канал: https://www.youtube.com/channel/UC1g3kT0ZcSXt4_ZyJOshKJQ