JPA: объединить две персистентные единицы - PullRequest
2 голосов
/ 04 октября 2011

У меня в приложении два разных постоянных модуля.Я использую JPA 2.0 с Hibernate в качестве моего провайдера сущностей.В одной из моих схем базы данных у меня есть таблица, которая содержит столбец, который имеет отношение внешнего ключа к таблице в другой схеме.Эти таблицы отображаются как отдельные объекты в моем коде без каких-либо отношений.Можно ли построить именованный запрос для объединения этих двух схем?

1 Ответ

7 голосов
/ 04 октября 2011

Нет, это невозможно. У вас есть несколько вариантов, не все из них будут полезны для вашего случая:

  • Вы можете выполнить объединение самостоятельно в коде - это может показаться уродливым и грязным, но этот способ можно использовать, если вы не хотите смешивать два домена, и это очень выполнимо, если наборы данных небольшие.
  • Вы можете переместить права с одного PU (или схемы) на другой
  • Если БД поддерживает представления, вы можете создать представление таблицы из другой схемы.
  • Вы можете отобразить одну и ту же таблицу данных дважды (один раз для каждого PU) - это может вызвать головную боль при кэшировании.

Как правило, если у вас есть FK между схемами, у вас есть проблема с разделением домена, так как границы не являются точными.

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