У меня есть база данных со многими объектами (например, «Объявление»), каждое объявление принадлежит одной «Категории». Это отношение ManyToONe. Я получу несколько объявлений и, по желанию, получу в каждом объявлении ссылку на объект категории. У меня такой вопрос: если я получу несколько объявлений одной и той же категории, будет ли для каждой категории создан уникальный объект или все ссылки будут указывать на один и тот же объект?
Hibernate: ManytoOne — сколько объектов?
comment
Почему бы вам не проверить это?
- person JB Nizet   schedule 22.04.2015
comment
Я только учусь тестировать :-)
- person Petr F.   schedule 22.04.2015
Ответы (1)
Если ad1 и ad2 принадлежат к одной и той же категории c1 и загружены в один и тот же сеанс гибернации, оба будут иметь ссылку на один и тот же объект категории c1.
person
JB Nizet
schedule
22.04.2015
как насчет того, если будут запрошены 2 независимых дочерних объекта, и оба будут иметь родителя в них... будут ли они по-прежнему указывать на одного и того же родителя? Ваш ответ будет высоко оценен .. спасибо.
- person Danyal Sandeelo; 22.04.2015
Если они загружены в одном сеансе, да.
- person JB Nizet; 22.04.2015
один и тот же сеанс? не понял. Я говорю о двух объектах, таких как c1, возвращаемый функцией, и c2, возвращаемый другой функцией. У них обоих будет отдельное пространство в памяти, и их родительский объект останется прежним? Если это так, спящий режим должен быть действительно легким, но он имеет накладные расходы на память наряду с некоторыми другими преимуществами ... поскольку у вас 296 КБ, ваш ответ и знания будут действительно оценены :) ..
- person Danyal Sandeelo; 22.04.2015
Чтобы загрузить экземпляры сущностей из базы данных, вы используете объект Hibernate Session. Какими бы ни были методы, используемые для загрузки сущностей, если оба метода используют один и тот же сеанс Hibernate для загрузки ad1 и ad2, ad1 и ad2 будут иметь ссылку на один и тот же объект c1.
- person JB Nizet; 22.04.2015