diff --git a/engine.go b/engine.go index 4081ec14..bf2926f6 100644 --- a/engine.go +++ b/engine.go @@ -664,10 +664,12 @@ func (engine *Engine) autoMapType(v reflect.Value) *core.Table { if !ok { table = engine.mapType(v) engine.Tables[t] = table - if v.CanAddr() { - engine.GobRegister(v.Addr().Interface()) - } else { - engine.GobRegister(v.Interface()) + if engine.Cacher != nil { + if v.CanAddr() { + engine.GobRegister(v.Addr().Interface()) + } else { + engine.GobRegister(v.Interface()) + } } } engine.mutex.Unlock()