我目前正在尝试使用 Grails 的 GORM MongoDB 插件来保留以下类:
class Result {
String url
def Result(){
}
static constraints = {
}
static mapWith="mongo"
static mapping = {
collection "results"
database "crawl"
}
}
我正在运行以保留此类的代码如下:
class ResultIntegrationTests {
@Before
void setUp() {
}
@After
void tearDown() {
}
@Test
void testSomething() {
Result r = new Result();
r.setUrl("http://heise.de")
r.getMetaClass().setProperty("title", "This is how it ends!")
println(r.getTitle())
r.save(flush:true)
}
}
这是 MongoDB 中的结果:
{ "_id" : NumberLong(1), "url" : "http://heise.de", "version" : 0 }#
现在 url 正确地保存在 MongoDB 中,但是映射器看不到动态属性——尽管 println(r.getTitle()) 工作得很好。
我是 groovy 的新手,所以我认为有更多经验的人可以帮助我解决这个问题。有没有办法让这个动态添加的属性对映射工具可见?如果是,我该怎么做?
非常感谢任何建议...