У меня есть отношения m2m между двумя спящими объектами, назовем их Movies и Actors, которые я настроил с помощью двунаправленных ссылок. Очевидно, это смоделировано как таблица фильмов, таблица актеров и таблица соединения внешних ключей между двумя в БД.
Интерфейс позволяет обновлять отношения между актерами и фильмами. Внутренне пользовательский интерфейс отслеживает ваши обновления на экране, используя идентификаторы фильмов и задействованных актеров, а затем отправляет идентификатор фильма со списком идентификаторов актеров на контроллер, когда вы нажимаете «сохранить».
Теперь мой вопрос: предположим, я обновляю фильм, добавив к нему четырех актеров в БД. У меня есть список идентификаторов актеров, которые нужно добавить, но у меня нет реальных объектов актеров, потому что я получил только их идентификаторы из пользовательского интерфейса.
Чтобы сделать это обновление, мне нужно заполнить четыре полноценных объекта Actor, просто чтобы добавить их в мой объект Movie, чтобы я мог сохранить его обратно в БД? Другими словами, мне нужно сначала выбрать из моей базы данных только для того, чтобы затем сделать обновление? Этот дополнительный вызов select кажется неэффективным, поскольку все, что действительно будет обновлено, - это добавить несколько строк в таблицу соединений, и у меня уже есть вся информация, необходимая для этого.
Предоставляет ли hibernate удобный способ непосредственного добавления ключей к самой таблице объединения (без написания нестандартного необработанного SQL-запроса)?