Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 10.02.2021
Сообщений: 21

ManyToMany Spring Data JPA нормализация баз данных

18.04.2021, 14:45. Показов 1483. Ответов 2

Студворк — интернет-сервис помощи студентам
Приветствую.

Вот читаю я документацию Hibernate Bidirectional @ManyToMany . Сделал аналогично, идентично как показано. Всё хорошо. Получилась вот такая таблица:



С точки зрения нормализации баз данных, если я правильно выражаюсь, то это правильная форма таблиц.

В документации в данном примере показано как добавить эти два персона и адреса для них. Ни чего вроде сложного.


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
Person person1 = new Person( "ABC-123" );
Person person2 = new Person( "DEF-456" );
 
Address address1 = new Address( "12th Avenue", "12A", "4005A" );
Address address2 = new Address( "18th Avenue", "18B", "4007B" );
 
person1.addAddress( address1 );
person1.addAddress( address2 );
 
person2.addAddress( address1 );
 
entityManager.persist( person1 );
entityManager.persist( person2 );

И это прекрасно работает. Было добавлено сразу два персона и к ним адреса, где один адрес ("12th Avenue", "12A", "4005A") общий и это правильно.

Но как теперь мне добавить ещё одного персона, например в другом контроллере и сказать, например, что у этого нового персона которого я сейчас создаю, будет тот же общий адрес ("12th Avenue", "12A", "4005A") чтобы сохранять нормализацию баз данных, правильность таблиц и тем самым избежать избыточность информации?

Надеюсь я правильно и понятно изложил суть вопроса.


.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.04.2021, 14:45
Ответы с готовыми решениями:

Spring DaTa Jpa @ManyToMany: инициализация списка сущностей
Приветствую! Есть две таблицы: students age grade name id(PK) courses

Выборка данных из нескольких таблиц используя Spring Data JPA Repository и преобразование в json
Всем привет! Сейчас мне данные отдаются в таком виде: Эти данные берутся из одной таблицы public_organisations. Но есть...

Spring MVC. 404 ошибка при включении Spring Data JPA в проект
Добрый день. Есть простой шаблонный проект с использованием Spring MVC и Maven. С зависимостями Spring MVC проект собирается нормально и...

2
54 / 45 / 18
Регистрация: 09.02.2015
Сообщений: 165
19.04.2021, 17:17
Создаешь нового персона.
Грузишь прокси сущность адреса через load(), почитай про него.
Java
1
Address address = addressRepository.load(1);
А дальше аналогично примеру.
0
0 / 0 / 0
Регистрация: 10.02.2021
Сообщений: 21
19.04.2021, 19:48  [ТС]
Цитата Сообщение от zoom59rus Посмотреть сообщение
Создаешь нового персона.
Грузишь прокси сущность адреса через load(), почитай про него.
Спасибо. Уже разобрался. Тут всё довольно просто оказалось.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.04.2021, 19:48
Помогаю со студенческими работами здесь

Spring Data JPA @PrimaryKeyJoinColumn
Приветствую. Не работает @PrimaryKeyJoinColumn. В чём причина не знаю. Перечитал весь Интернет и перепробовал все варианты - не...

QueryDSL и Spring Data JPA
Начал изучать querydsl. Делал по одному примеру. Там из такого запроса: http://localhost:8080/users?search=lastName:doe,age>25 ...

[Hibernate & Spring Data] Получить список объектов сущности из ManyToMany
Сущность User @Entity @Table(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) ...

Spring Data JPA Bidirectional many-to-many with link entity
Я изучаю Hibernate. Я дошёл до пункта 2.7.4. @ManyToMany...

Осуществить поиск объекта со Spring data jpa
Есть такой объект public class DepositMatrix implements Serializable, Cloneable { public static final String PRODUCT_LOOKUP_MAIN...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru