Эффективный способ добавления записей в отношениях JPA ManyToMany?JAVA

Программисты JAVA общаются здесь
Anonymous
Эффективный способ добавления записей в отношениях JPA ManyToMany?

Сообщение Anonymous »

В настоящее время я изучаю Spring Data JPA и пытаюсь лучше понять, как отношения @ManyToMany работают внутри.
У меня есть связь ManyToMany между Playlist и Track:
  • Список воспроизведения может содержать 0..n треков
  • Дорожка может принадлежать 0..n плейлистов
Насколько я понимаю, обычный способ добавить трек в плейлист:
  • Выбрать плейлист
  • Доступ к его коллекции (которая загружается лениво)
  • Добавить новый трек в коллекцию
  • Сохранить список воспроизведения/объект
Что-то вроде:

Код: Выделить всё

playlist.getTracks().add(track);
playlistRepository.save(playlist);
Я предполагаю, что Hibernate/JPA может инициализировать ленивую коллекцию перед ее изменением, что может означать дополнительный запрос только для добавления одной строки отношения в таблицу соединения.
Если это понимание верно, этот подход кажется несколько неэффективным для больших коллекций. Это стандартный способ обработки отношений ManyToMany в JPA или существует лучший/более масштабируемый подход, обычно используемый в реальных приложениях?

Вернуться в «JAVA»