Подкласс или Наследование, какой путь лучше всего использовать Hibernate HBM? - PullRequest
0 голосов
/ 16 февраля 2012

Может кто-нибудь поделиться со мной лучшим подходом к этому вопросу ниже, используя hibernate hbm files?

Допустим, у меня есть 2 класса, которые называются Vehicle, Car и 2 table Vehicles и Car.Транспортные средства, имеющие общие поля, которые должны быть для каждого автомобиля, автобуса и т. Д.

Я пытаюсь создать DomainObject для автомобиля:

  1. Автомобиль расширяет Автомобиль?Если да, может кто-нибудь поделиться со мной, как объявить класс Vehicle в файлах Car hbm, и обе данные будут сохранены при сохранении объекта Car?

  2. У меня может быть 2 hbm отдельных файла (car,транспортное средство) и в классе Car я могу объявить класс (личное транспортное средство) и сконструировать этот объект как часть класса Car и сохранить класс Car с помощью каскада.

Может кто-нибудь предложить, какой подход будет хорошим?Мне нужно хранить данные в обеих таблицах.

1 Ответ

0 голосов
/ 16 февраля 2012

Разница между использованием одной таблицы или двух в значительной степени предпочтительна, но я бы учел следующее:

  • Хотите ли вы когда-нибудь запросить все транспортные средства любого типа
  • Сколько атрибутов будет общим (унаследованным) для всех типов транспортных средств
  • Сколько транспортных средств вы говорите (если их много, отдельная таблица может быть быстрее)

Если вы хотите сделать это с одной таблицей, то вы можете использовать поле дискриминатора (, как описано на этой странице ), чтобы определить, какой подкласс представляет запись. Вот документация по Hibernate .

...