【问题标题】:Using Grails domain classes without Hibernate or GORM在没有 Hibernate 或 GORM 的情况下使用 Grails 域类
【发布时间】:2012-02-21 10:23:10
【问题描述】:

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

我已经使用excludes 'hibernate,domain' 禁用了BuildConfig.groovy 中的hibernatedomain,但Grails 仍然抱怨......也许我应该将我的域类放在src/groovy/mypackage...

【问题讨论】:

    标签: hibernate grails groovy grails-orm


    【解决方案1】:

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

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

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

    【讨论】:

    猜你喜欢
    • 2014-05-11
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    相关资源
    最近更新 更多