Как отобразить одну сущность jpa на несколько таблиц на основе свойства с Hibernate - PullRequest
1 голос
/ 07 марта 2011

Я собираюсь хранить сообщения от внешних продуктов в базе данных.Все сообщения одинаковы и имеют свойство CATEGORY.Поскольку большинство запросов, которые будут выполняться по фильтру БД, категория, которую мой Архитектор БД предложил разделить по одной таблице на одну таблицу для каждой категории.

Обычно мне нужен один класс на таблицу.К сожалению, существует более 100 категорий ...

Возможно ли реализовать мой сценарий с помощью JPA / Hibernate?

1 Ответ

1 голос
/ 07 марта 2011

Я не думаю, что есть простой способ сделать это, кроме генерации 100 подклассов.Если каждая категория сообщений имеет одинаковые свойства, подклассы должны быть очень простыми и могут автоматически генерироваться небольшой программой).Это, однако, будет работать только в том случае, если набор категорий является статическим, а не динамическим.

Однако сначала я бы бросил вызов дизайну архитектора.Делая это, вы потеряете способность

  • иметь внешние ключи к сообщениям (поскольку они будут распределены в 100 таблицах)
  • иметь уникальные ограничения для сообщений (даже для их идентификатора))
  • имеют вменяемые запросы к различным категориям сообщений

И я не думаю, что вы получите много, потому что если индексы по таблице сообщений включают столбец категории,Запрос должен выполняться так же быстро, как если бы сообщения категории находились в отдельной таблице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...