2012-01-29 9 views
4

Grailsプロジェクトでは、/ domainフォルダにエンティティクラスを配置すると、Grailsは自動的に永続性のためにGORM/Hibernateを使用しようとします。私がMongo、Reddisなどと言うと、私は別のタイプのストアにペリストすると、クラスをドメインフォルダに置き、自分のパーシスタンスロジックを実装できますか?HibernateまたはGORMなしのGrailsドメインクラスの使用

私はexcludes 'hibernate,domain'を使用してBuildConfig.groovyhibernatedomain無効になってきましたが、Grailsは、まだ

答えて

4

Grailsはわずか用語のドメインを悪用...私はちょうどsrc/groovy/mypackageで私のドメインクラスを配置する必要がありcomplains..perhaps。 Grailsのドメインクラスは、Hibernate、NoSQL、またはその両方で永続的であっても、永続クラスです。自分で管理したい場合は、src/groovyに入れてください。 012SQLを使用する場合は、プラグインの1つを使用することを検討してください(例:NoSQL)。 mongodbまたはredis-gormです。 NoSQLプラグインが唯一の永続プラグインとしてインストールされている場合(つまり、Hibernateプラグインを削除した場合)、grails-app/domainのドメインクラスはそのプラグインを使用します。まだHibernateプラグインがインストールされている場合、ドメインクラスはデフォルトでHibernateドメインクラスになりますが、mapWithプロパティを持つNoSQLドメインクラスであることを指定できます。 static mapWith = "mongo"。これはプラグインのドキュメントに記述されています。

あなたはおそらくドメインプラグインを削除したくないと思います。私はそこに何か利点があるとは思わないし、おそらく重要な機能を壊すでしょう。

+0

'static mapWith =" mongo "'プロパティはどこにありますか?ドメインクラスまたは他の場所で? – raffian

+0

ドキュメントのセクション2を参照してください:http://springsource.github.com/grails-data-mapping/mongo/manual/ –

関連する問題