Hibernate: ManytoOne — сколько объектов?

У меня есть база данных со многими объектами (например, «Объявление»), каждое объявление принадлежит одной «Категории». Это отношение ManyToONe. Я получу несколько объявлений и, по желанию, получу в каждом объявлении ссылку на объект категории. У меня такой вопрос: если я получу несколько объявлений одной и той же категории, будет ли для каждой категории создан уникальный объект или все ссылки будут указывать на один и тот же объект?


person Petr F.    schedule 22.04.2015    source источник
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
comment
как насчет того, если будут запрошены 2 независимых дочерних объекта, и оба будут иметь родителя в них... будут ли они по-прежнему указывать на одного и того же родителя? Ваш ответ будет высоко оценен .. спасибо. - person Danyal Sandeelo; 22.04.2015
comment
Если они загружены в одном сеансе, да. - person JB Nizet; 22.04.2015
comment
один и тот же сеанс? не понял. Я говорю о двух объектах, таких как c1, возвращаемый функцией, и c2, возвращаемый другой функцией. У них обоих будет отдельное пространство в памяти, и их родительский объект останется прежним? Если это так, спящий режим должен быть действительно легким, но он имеет накладные расходы на память наряду с некоторыми другими преимуществами ... поскольку у вас 296 КБ, ваш ответ и знания будут действительно оценены :) .. - person Danyal Sandeelo; 22.04.2015
comment
Чтобы загрузить экземпляры сущностей из базы данных, вы используете объект Hibernate Session. Какими бы ни были методы, используемые для загрузки сущностей, если оба метода используют один и тот же сеанс Hibernate для загрузки ad1 и ad2, ad1 и ad2 будут иметь ссылку на один и тот же объект c1. - person JB Nizet; 22.04.2015