先簡要說明一下我在項目中的必要場景:因為采用的Shiro的驗證插件,以及一些比較固定的domain,所以會保留Hibernate的domain對象,但是在特定的domain中,要求其字段是可維護的,這對於關系數據庫來說,顯然不是那麼合適,而Mongodb以其Document為基礎,卻可以滿足這種需求。
因此在這樣的應用工程中,至少需要兩個插件:Shiro和Mongodb,其基本用法參考其官方文檔就好瞭。此處簡單總結一下在整合當中碰到的幾個問題。
1. Domain的id,如無特殊情況,要用 ObjectId
Java代碼
import org.bson.types.ObjectId
class DummyData {
static mapWith = "mongo"
ObjectId id
}
2. 關於Service,請使用
Java代碼
static transactional = 'mongo'
否則可能會出現沒有入庫的情況