#grails
#grails
Вопрос:
Я пытаюсь создать приложение Grails. Я хочу, чтобы пользователь, который устанавливает это приложение grails на свой экземпляр tomcat, мог выбирать, хотят ли они использовать hibernate с СУБД или mongodb при развертывании приложения.
-
Возможно ли иметь оба плагина hibernate и mongodb и выбирать один на основе файла конфигурации?
-
В качестве альтернативы, возможно ли создать две сборки приложения grails с точно таким же кодом, но разными плагинами, чтобы пользователь мог выбрать любую сборку?
Ответ №1:
Второй вариант — ваш лучший выбор. Если установлены оба плагина, вам нужно использовать mapWith
атрибут, чтобы указать, какой использовать, и это статическое поле в классах вашего домена.
Но если вы не установите плагин Mongo, все классы домена будут использовать Hibernate, а если вы удалите плагин Hibernate и установите плагин Mongo, все классы домена будут использовать Mongo. Это было бы очень просто написать сценарий — либо запустить grails war
(для Hibernate), либо grails uninstall-plugin hibernate
, grails install-plugin mongodb
и grails war
(для Mongo).