Grails跟Hibernate和Mongodb的组合
标题看起来很噱头哦
先简要说明一下我在项目中的必要场景:因为采用的Shiro的验证插件,以及一些比较固定的domain,所以会保留Hibernate的domain对象,但是在特定的domain中,要求其字段是可维护的,这对于关系数据库来说,显然不是那么合适,而Mongodb以其Document为基础,却可以满足这种需求。
因此在这样的应用工程中,至少需要两个插件:Shiro和Mongodb,其基本用法参考其官方文档就好了。此处简单总结一下在整合当中碰到的几个问题。
1. Domain的id,如无特殊情况,要用 ObjectId
import org.bson.types.ObjectId
class DummyData {
static mapWith = "mongo"
ObjectId id
}
2. 关于Service,请使用
static transactional = 'mongo'
否则可能会出现没有入库的情况