Мы рассматриваем разбиение наших таблиц гибернации на пакеты или домены (выставление счетов, продажи, ... и т. Д.), Главным образом для решения проблем управления зависимостями.
Конечно, это не очень аккуратно, поэтому мы не уверены, как обращаться с отношениями, которые пересекают домены. Было бы неплохо иметь для этого новую аннотацию сущности, но в то же время одна идея состоит в том, чтобы сделать несколько копий модели, в которой есть некоторые различия в том, как аннотируются отношения, чтобы «оторвать свободные концы». Эти измененные объекты, вероятно, нужно будет сделать «доступными только для чтения» в других моделях, к которым они не принадлежат. Кроме того, некоторое время мы будем продолжать использовать существующую полную модель, когда будем переводить приложения на более мелкие.
Так, например, большинство таблиц должно полностью существовать в той или иной модели; но если Domain1.Table1 относится к Domain2.Table2, вы должны сделать копию только для чтения каждого в домене другого. У копии будут другие отношения в его домене, которые будут заменены на «тупики» (возможно, путем замены ссылок отношений на целочисленный ссылочный атрибут fk).
Дело в том, что мы хотели бы иметь какой-то способ управления нашими сборками maven, чтобы при изменении атрибута таблицы мы объявили зависимости только от модели этого домена, чтобы мы могли уменьшить количество приложений, которые должны быть восстановлены. (у нас жесткие окна отключения при развертывании).
О, и все домены должны использовать один и тот же Java-пакет для совместимости с нашим устаревшим EJB-инструментом персистентности
Так вот в чем идея. Любые предложения / отзывы / комментарии? Спасибо!