使用没有Hibernate或GORM的Grails域类

时间:2012-01-29 01:05:14

标签: hibernate grails groovy gorm

在Grails项目中,如果我将实体类放在/ domain文件夹中,Grails会自动尝试使用GORM / Hibernate进行持久化。如果我正在寻找不同类型的商店,比如Mongo,Reddis等,我还可以将我的类放在域文件夹中并实现我自己的持久性逻辑吗?

我已使用hibernatedomain中停用了BuildConfig.groovyexcludes 'hibernate,domain',但Grails仍抱怨。我可能只是将我的域类放在src/groovy/mypackage中} ...

1 个答案:

答案 0 :(得分:4)

Grails略微滥用术语域。 Grails中的域类是持久类,无论它们是使用Hibernate还是NoSQL还是两者兼容。如果你想自己管理东西,请将它们放在src / groovy中。

如果您想使用NoSQL,请考虑使用其中一个插件,例如: mongodb或redis-gorm。如果NoSQL插件是唯一安装的持久性插件(即你已经删除了Hibernate插件),那么grails-app / domain中的域类将使用该插件。如果您仍然安装了Hibernate插件,则域类将默认为Hibernate域类,但您可以指定它是具有mapWith属性的NoSQL域类,例如static mapWith = "mongo"。这在插件的文档中有描述。

你可能不想删除域名插件 - 我认为没有任何好处,而且很可能会破坏重要的功能。