2013-08-15 2 views
0

У меня есть приложение Grails с использованием некоторой собственной базы данных NoSQL. У меня отключен плагин hibernate. У меня есть много классов домена с большим количеством ограничений, определенных и с собственной реализацией save() и get(), которая вызывает некоторые java-сервисы, которые имеют дело с постоянством. Все работает нормально.Grails с GORM только на некоторых классах доменов или проекте Grails с несколькими DB

Но теперь у нас есть сделка с клиентом, чтобы сохранить некоторые вещи непосредственно в их базе данных MySQL. Простая вещь сначала. Я настроил их подключение к БД, включил плагин hibernate, и я создал новый класс домена, чтобы справиться с этим. Все работает нормально в тестовом приложении, но когда я включил плагин hibernate в основной проект, больше не запускается.

Hibernate пытается сопоставить все домены с таблицами в БД и, конечно, их не существует (поскольку они используют базу данных NoSQL).

Мои вопросы: Можно ли включить спящий режим только для нескольких доменов? Или я могу поручить некоторому домену не использовать hibernate/gorm? Или в упаковке? Как Grails обрабатывает несколько БД для одного проекта?

ответ

2

Вы можете установить multiple datasources заботиться о NoSQL БД MySQL и БД. Затем вы останетесь с объектами домена, которые используют службы Java для сохранения.

Вы используете ограничения на них, но используете ли вы Gorm Static API, как динамические искатели на них? Чтобы отвлечь их от реализации спящего режима, я попытался переместить их с grails-app/domain на src/groovy или использовать static mapWith = 'none' в классах.

+0

Более полный ответ. Я немного ленив сегодня :-) –

+0

Да, я думал, что перемещение их в src/groovy решит проблему, но это слишком большое изменение для этой небольшой функции. Я использую события (перед проверкой, перед сохранением и т. Д.), Я просто перезаписываю save() и get (method) и функциональность, реализованную в некоторой службе java. Кажется, работает с mapWith. Спасибо – Eduard

+0

@ SérgioMichels Не беспокойтесь, мы пульсируем одного и того же Евангелия. :) – dmahapatro

Смежные вопросы