powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JpaRepository и Hibernate.
11 сообщений из 11, страница 1 из 1
JpaRepository и Hibernate.
    #39162404
wvetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочу посоветоваться как лучше/правильней организовать алгоритм.

Есть 2 сущности Application(заявление) и ApplicationList(список, который может содержать несколько Application).

Например:

Application
idname1 ronaldo2 messi
ApplicationList
idname1 list02 list1
Связная таблица app_and_list
app_and_list
list_idapp_id1 11 2
Пояснение: ronaldo и messi входят в list0.

Необходимо создать Application и поместить(добавить) его в список под названием list0, то есть добавить к ronaldo и messi.

Покажу код, но он не совсем работает и мне не нравиться - хочу его переделать и сделать по-нормальному. Подкиньте идеи.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Application application = new Application(3, "neymar");
ApplicationList applicationList = new ApplicationList();
List<Application> appList = new ArrayList<Application>();

applicationList = applicationListRepository.findOne(1);
    	
appList.add(application);
  	
applicationList.setApplications(appList);
    	
applicationRepository.save(application);
applicationListRepository.save(applicationList);

При такой реализации в списке list0 окажется только neymar.
Можно реализовать, чтоб сначала получить список list0(с ronaldo и messi), добавить в него neymar, и потом сохранить
Код: java
1.
applicationListRepository.save(applicationList);

Тогда в итоге в базе в списке list0 будут все трое. Но такое решение мне не нравится из за того, что необходимо сначала брать все данные из базы(то есть тех, кто входит в список list0).

Вопрос: можно ли с помощью JpaRepository и Hibernate добавлять и удалять записи по одному в список? То есть в результате должно быть так:
Application
idname1 ronaldo2 messi3 neymar
ApplicationList
idname1 list02 list1
Связная таблица app_and_list
app_and_list
list_idapp_id1 11 21 3
...
Рейтинг: 0 / 0
JpaRepository и Hibernate.
    #39162453
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wvetal Но такое решение мне не нравится из за того, что необходимо сначала брать все данные из базы(то есть тех, кто входит в список list0).


это заблуждение. Ленивая загрузка ассоциаций может избавить от загрузки лишних данных.
...
Рейтинг: 0 / 0
JpaRepository и Hibernate.
    #39162468
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wvetalЕсть 2 сущности Application(заявление) и ApplicationList(список, который может содержать несколько Application).
Обычно просто список сущностью быть не может.
У тебя и так при первой сущности будет таблица со списком Заявлений.
...
Рейтинг: 0 / 0
JpaRepository и Hibernate.
    #39162475
wvetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123wvetalЕсть 2 сущности Application(заявление) и ApplicationList(список, который может содержать несколько Application).
Обычно просто список сущностью быть не может.
У тебя и так при первой сущности будет таблица со списком Заявлений.Мне необходимо распределять Заявления по спискам(так сказать категориям), и дальше нужно работать со списками - поэтому 2 сущности.

Blazkowiczwvetal Но такое решение мне не нравится из за того, что необходимо сначала брать все данные из базы(то есть тех, кто входит в список list0).


это заблуждение. Ленивая загрузка ассоциаций может избавить от загрузки лишних данных.Меня беспокоит не загрузка лишних данных. Нужно чтоб при добавлении нового Заявления в ApplicationList остался список предыдущих Заявлений.
Или, если я правильно понял ленивая загрузка решит проблему? Проверю завтра...
...
Рейтинг: 0 / 0
JpaRepository и Hibernate.
    #39162559
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ещё есть такая штука, как dirty check. Загрузил, добавил элемент и больше ничего делать не нужно. При выходе из транзакционного метода Хибер обнаружит изменение и закоммитит в базу
...
Рейтинг: 0 / 0
JpaRepository и Hibernate.
    #39162576
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wvetal,
Вот у вас и сущность Категория появилась.
7 раз отмерь, один раз...код пиши.
...
Рейтинг: 0 / 0
JpaRepository и Hibernate.
    #39162577
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем тут много ко многим отношения непонятно
...
Рейтинг: 0 / 0
JpaRepository и Hibernate.
    #39162937
wvetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wvetalИли, если я правильно понял ленивая загрузка решит проблему? Проверю завтра...Проверил - не помогло.

BlazkowiczА ещё есть такая штука, как dirty check. Загрузил, добавил элемент и больше ничего делать не нужно. При выходе из транзакционного метода Хибер обнаружит изменение и закоммитит в базуГуглю про dirty check - пока ничего нормального не нагуглил, продолжаю...

Petro123Зачем тут много ко многим отношения непонятноТут не много ко многим отношения, а @OneToMany. В одной Катагории может быть много Заявлений, и в то же время Заявление может быть только в одной Категории.
...
Рейтинг: 0 / 0
JpaRepository и Hibernate.
    #39162948
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wvetal,

Это странно.
Потому что мой гугл предлагает кучу информации:
https://www.google.com/?#q=hibernate dirty checking
Или вот, например, мануал, поиск по слову dirty
https://docs.jboss.org/hibernate/orm/4.2/manual/en-US/html_single/
...
Рейтинг: 0 / 0
JpaRepository и Hibernate.
    #39162962
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wvetalТут не много ко многим отношения
ты аннотации ставь любые.
Я вижу факт в 3 таблы у тебя выше. Классика.
Это то что будет в базе.
Ты не понял, что категория у тебя - атрибут в классе Заявление.
Итого 2 таблицы с фореген кей FK
Но дело твоё.
Удачи!
...
Рейтинг: 0 / 0
JpaRepository и Hibernate.
    #39165158
metatron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, таблицу соответствия нужно убрать, т.к. нет необходимости одно и тоже заявление в разные списки засовывать.
просто добавьте еще одно поле в таблицу заявлений - id_list
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JpaRepository и Hibernate.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]