首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将域类从GORM-独立模块导入Grails

将域类从GORM-独立模块导入Grails
EN

Stack Overflow用户
提问于 2016-12-14 13:09:09
回答 1查看 332关注 0票数 0

我有两块拼图:

1)一个名为core-module的无Grails项目具有独立的GORM:

代码语言:javascript
复制
dependencies {
  compile 'org.grails:grails-datastore-gorm-mongodb:6.0.4.RELEASE'
  compile 'org.grails:grails-validation:3.2.3'
}    

和域类,如:

代码语言:javascript
复制
import grails.gorm.annotation.Entity

@Entity
class Module {
  String id
  String tags
 }

的初始化。

代码语言:javascript
复制
Map config = new Yaml().load this.class.getResource( '/application.yml' ).text
new MongoDatastore( config, Module, UserAccount )

域类就像在Grails应用程序中一样工作。

2) Grails 3.2.3应用程序:

代码语言:javascript
复制
dependencies {
  // default grails dependencies

  compile project( ':core-module' )
  compile 'org.grails.plugins:mongodb:6.0.4'
  compile 'org.grails.plugins:spring-security-core:3.1.1'
  // etc
}

GORM被初始化为:

代码语言:javascript
复制
def config = config.grails.mongodb
log.info "using $config"
new MongoDatastore( config, Module, UserAccount )

然后将其打印到日志文件中:

g.app.init.com.mozaiq.Application -使用[主机:本地主机,端口:27017,数据库名:数据库名,用户名:theUN,池:true,mongoOptions:connectionsPerHost:100,autoConnectRetry:true,connectTimeout:3000]

问题是,属性grailsApplication.domainClasses是空的,即使Module.collection不是空的,Module.count()返回0,尽管集合不是空的。

另外,在我的mongo客户机中,我看到在app启动时,一个新的数据库test是用一个空集合创建的,该集合由我的一个域类命名。如果我向其中插入一些文档,.count()将返回0,CRUD列表仍然是空的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-19 09:10:25

Grails默认情况下只扫描应用程序中的包,这是出于性能原因。重写limitScanningToApplication()以在Application类中返回false,并通过重写Application类中的packageNames()来定义希望扫描的包。

Grails随后将自动发现Mongo类。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41143475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档