Совместное использование подключаемого модуля приложения Grails среди нескольких приложений-клиентов Grails и выделение подмножества классов домена - PullRequest
0 голосов
/ 25 ноября 2010

Ну, это странное требование, и я думаю об этом, возможно ли это или нет.Вторая мысль заключается в том, является ли это возможным конструктивным решением или нет.

Вот сценарий:

У нас есть база данных, состоящая из примерно 160 таблиц.Мы создали плагин Grails ORM поверх устаревшей базы данных.

Теперь у нас есть различные приложения (плагины), которые будут использовать этот плагин orm.

Каждое приложение может работать автономно и в сочетании с другими приложениями.также.

Каждое приложение в основном использует подмножество полной модели ORM, разработанной в плагине.

Чтобы запустить автономное приложение, я хочу создать только автономную базу данных, содержащую таблицы, необходимые для приложения, а не всю базу данных из 160 таблиц.Но так как автономное приложение имеет зависимость от плагина ORM, определенного выше, возможно ли иметь только подмножество таблиц или я должен создать полную схему базы данных?

Дайте мне знать, если какие-либо дополнительные деталиТребуется понять вопрос.

Спасибо, Алам Шер

Ответы [ 2 ]

0 голосов
/ 25 ноября 2010

Вы можете объявить классы доменов, сопоставленных с ORM, в папке src/groovy и, таким образом, ничего не отображать в плагине, а затем расширить необходимые классы в конечных приложениях.Будут использоваться сопоставления, объявленные в src.

Это добавляет дополнительную сложность, но делает дело.

0 голосов
/ 25 ноября 2010

Я бы предложил разделить плагин ORM на отдельные плагины "sub-orm". Эти плагины «субормы» могут зависеть от других плагинов «субормы». Разделительные линии между плагинами «sub-orm» должны ИМХО определяться бизнес-доменом.

В этом случае каждое «частичное» приложение может иметь зависимость от необходимых плагинов «sub-orm», которые просто необходимы в его области действия. Разрешение транзитивных зависимостей является ценным в этом случае.

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

...