diff --git a/session_find.go b/session_find.go index 6ed41de7..72882a28 100644 --- a/session_find.go +++ b/session_find.go @@ -139,7 +139,7 @@ func (session *Session) find(rowsSlicePtr interface{}, condiBean ...interface{}) return err } - if session.canCache() { + if session.statement.ColumnMap.IsEmpty() && session.canCache() { if cacher := session.engine.GetCacher(session.statement.TableName()); cacher != nil && !session.statement.IsDistinct && !session.statement.GetUnscoped() { diff --git a/session_get.go b/session_get.go index c468b440..76918194 100644 --- a/session_get.go +++ b/session_get.go @@ -65,7 +65,7 @@ func (session *Session) get(bean interface{}) (bool, error) { table := session.statement.RefTable - if session.canCache() && beanValue.Elem().Kind() == reflect.Struct { + if session.statement.ColumnMap.IsEmpty() && session.canCache() && beanValue.Elem().Kind() == reflect.Struct { if cacher := session.engine.GetCacher(session.statement.TableName()); cacher != nil && !session.statement.GetUnscoped() { has, err := session.cacheGet(bean, sqlStr, args...)