Hibernate - Как сохранить новый элемент в коллекции без загрузки всей коллекции

У меня есть коллекция в моей модели, которая содержит наборпредыдущие версии' моего корневого доменного объекта. Поэтому предыдущие версиинеизменный' и мы никогда не захотим их обновлять, а будем добавлять только прошлые версии по мере их появления. Так же 'версионируются» Объект домена довольно сложен и вызывает тяжелый доступ к базе данных для извлечения.

Когда у меня есть новая версия одного из этих объектов, я хочу сохранить ее вместе с другими без загрузки всего набора. Расширенный FAQ имеет несколько советов по этому поводу:

Почему Hibernate всегда инициализирует коллекцию, когда я только хочу добавить или удалить элемент?

К сожалению, API коллекций определяет возвращаемые значения метода, которые могут быть вычислены только при попадании в базу данных. Есть три исключения к этому: Hibernate может добавить к или же объявлен сinverse="true" без инициализации коллекции; возвращаемое значение всегда должно быть истинным.

Если вы хотите избежать дополнительного трафика базы данных (т. Е. В критичном для производительности коде), реорганизуйте свою модель, чтобы использовать только связи «многие к одному». Это почти всегда возможно. Затем используйте запросы вместо доступа к коллекции.

Я новичок во всем этом и не уверен на 100% в том, как реорганизовать вашу модель, чтобы использовать только связи «многие к одному». Может ли кто-нибудь дать мне пример урока, чтобы я мог узнать, как это решит мою проблему?

Ответы на вопрос(3)

Ваш ответ на вопрос