From b3bc4caf9f1535b1e874418c67460c7bc50bb9af Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 13 May 2016 23:55:14 +0800 Subject: [PATCH] fixed backward compatibility because PR #387 caused --- engine.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/engine.go b/engine.go index b7c39492..38eec061 100644 --- a/engine.go +++ b/engine.go @@ -960,10 +960,17 @@ func (engine *Engine) mapType(v reflect.Value) *core.Table { case reflect.Struct: parentTable := engine.mapType(fieldValue) for _, col := range parentTable.Columns() { - if t.Field(i).Anonymous { + /*if t.Field(i).Anonymous { col.TableName = parentTable.Name } else { col.TableName = engine.TableMapper.Obj2Table(t.Field(i).Name) + }*/ + if len(col.TableName) <= 0 { + if _, ok := fieldValue.Interface().(TableName); ok { + col.TableName = fieldValue.Interface().(TableName).TableName() + } else { + col.TableName = engine.TableMapper.Obj2Table(fieldType.Name()) + } } col.FieldName = fmt.Sprintf("%v.%v", t.Field(i).Name, col.FieldName) table.AddColumn(col)