Hibernate: Как связать подкласс с его суперклассом? - PullRequest
0 голосов
/ 29 апреля 2010

У меня небольшая проблема с настройкой проекта интернет-магазина. Дело в том, что у меня есть суперкласс User () и два подкласса, PrivateUser и BusinessUser.

Теперь, я не совсем уверен, как заставить мои головы хранить эти отношения в спящем режиме.

Для целей этого вопроса класс User () содержит только одно поле:
Строковый адрес;

PrivateUser содержит:
String firstName;

, а BusinessUser содержит:
String CompanyName;

Каждое поле имеет свои методы получения и установки. Как и сейчас, я бы только сохранил и смог получить firstName и companyName. Когда я получаю пользователя из моей БД с помощью Hibernate, я получаю PrivateUser / BusinessUser с нулевым адресом.

Суть в том, может ли кто-нибудь указать мне на полезное руководство или еще лучше показать подобный пример кода?

Спасибо!

1 Ответ

1 голос
/ 29 апреля 2010

В онлайн-документации Hibernate есть очень хорошая информация о отображении ваших классов, в частности, этот раздел о настройке подклассов:

http://docs.jboss.org/hibernate/stable/core/manual/en/html/mapping.html#mapping-declaration-subclass

Вы хотите обратить особое внимание на использование значений дискриминатора и т. Д., Если вы храните свои подклассифицированные объекты в общей таблице.

Вы могли бы также рассмотреть возможность получения копии Java Persistence с Hibernate, который считается «Библией Hibernate» среди моих коллег.

http://www.amazon.com/Java-Persistence-Hibernate-Christian-Bauer/dp/1932394885/ref=sr_1_1?ie=UTF8&s=books&qid=1272501916&sr=8-1

...