hibernate - 在没有 Hibernate 或 GORM 的情况下使用 Grails 域类

标签 hibernate grails groovy grails-orm

在 Grails 项目中,如果我将实体类放在/domain 文件夹中,Grails 会自动尝试使用 GORM/Hibernate 进行持久化。如果我坚持使用不同类型的存储,比如 Mongo、Reddis 等,我是否仍然可以将我的类放在域文件夹中并实现我自己的持久化逻辑?

我已禁用 hibernatedomainBuildConfig.groovy使用 excludes 'hibernate,domain' ,但 Grails 仍然提示......也许我应该将我的域类放在 src/groovy/mypackage 中...

最佳答案

Grails 稍微误用了域这个术语。 Grails 中的域类是持久类,无论它们是使用 Hibernate 还是 NoSQL 或两者都是持久的。如果你想自己管理东西,把它们放在 src/groovy 中。

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

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

关于hibernate - 在没有 Hibernate 或 GORM 的情况下使用 Grails 域类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9050075/

相关文章:

unit-testing - 带有模拟的数据驱动测试

file - Jmeter,如果使用 jsr223 postProcessor 存在,则将数据写入文件

grails - 依赖项和latest.release

java - Hibernate 中来自服务器的重复 key 或完整性约束违规消息

java - 相同的查询在 MSSQL 和 Hibernate 3 中给出不同的输出

java - 如何将参数传递给回调方法

string - 错误WAR包装错误:字符串索引超出范围:11

grails - grails-如何使用Grails日历插件使过滤器从datePicker识别值?

groovy - Gradle应用程序插件:需要在发行版中包含src

hibernate - hibernate sessionfactory如何管理 session ?