Плагин Grails mongodb-morphia — динамическое сопоставление коллекции доменов

Я хотел бы сопоставить класс домена с DBCollection на основе параметра, установленного в приложении Grails. Я относительно новичок в Spring, Grails и MongoDB.

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

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

К сожалению, нотация Entity Morphia принимает только константу String, поэтому я не могу передать ей что-то динамическое. Я думаю, что мне нужно вручную удалить класс домена, изменить настройки коллекции и переназначить класс (возможно, удалить bean-компоненты?). Я был бы признателен за любые предложения о том, как это сделать, предпочтительно с помощью плагина mongodb-morphia.

Я создал класс домена mongodb, подобный этому:

package x

import java.util.Date;
import com.google.code.morphia.annotations.Embedded;
import com.google.code.morphia.annotations.Entity;

@Entity("someCollection")
class MongoLog {

        def Mongo
        def someService

        Date a
        String b
        String c
        Double d

        static constraints = {
                a(nullable:true)
                b(nullable:true)
                c(nullable:true)
                d(nullable:true)
        }
}

P.S. Я попытался использовать статическое сопоставление, но плагин mongodb-morphia, похоже, не зарегистрировал указанную мной коллекцию.

Спасибо


person Dax    schedule 24.02.2012    source источник


Ответы (1)


Вам следует прочитать Руководство пользователя, прилагаемое к Morphia-Plugin. См. здесь: http://jkuehn.github.com/gorm-mongodb/

Вы думаете слишком спящий ;)

person comrad    schedule 09.03.2012