2012-01-29 81 views
4

在Grails項目中,如果將實體類放在/ domain文件夾中,Grails會自動嘗試使用GORM/Hibernate來實現持久性。如果我正在使用不同類型的商店,比如Mongo,Reddis等,我仍然可以將我的類放在域文件夾中並實現自己的持久性邏輯嗎?在沒有Hibernate或GORM的情況下使用Grails領域類

我使用excludes 'hibernate,domain'BuildConfig.groovy已經禁用hibernatedomain,但仍Grails的我complains..perhaps應該只是把我的域名班src/groovy/mypackage ...

回答

4

Grails的稍微誤用術語域。 Grails中的域類是持久類,無論它們是持久化的Hibernate還是NoSQL或兩者。如果你想管理自己把它們放在src/groovy中。

如果您想使用NoSQL,請考慮使用其中一個插件,例如mongodb或redis-gorm。如果NoSQL插件是唯一安裝的持久性插件(即,您已經刪除了Hibernate插件),那麼grails-app/domain中的一個域類將使用該插件。如果您仍然安裝了Hibernate插件,則該域類將默認爲Hibernate域類,但您可以指定它是具有mapWith屬性的NoSQL域類,例如, static mapWith = "mongo"。這在插件的文檔中有描述。

雖然您可能不想刪除域名插件,但我不認爲它有任何好處,它很可能會破壞重要功能。

+0

'static mapWith =「mongo」'屬性在哪裏?在域類或其他地方? – raffian 2012-01-29 02:03:25

+0

參閱文檔第2部分:http://springsource.github.com/grails-data-mapping/mongo/manual/ – 2012-01-29 03:07:25

相關問題