您好,我正在使用pgx来使用我的postgres,并且我对如何将数据库中的行转换为聚合有疑问。
我正在使用没有值对象的实体和值对象,使用封送似乎很容易,但是使用值对象我认为导出字段不是一个好主意,然后我的问题来了,如何将我的行转换为聚合的结构
我的聚合 :
type Email struct {
address string
}
type Password struct {
value string
}
type Name struct {
firstName string
lastName string
}
type Person struct {
Id string
Name valueObject.Name
Email valueObject.Email
Password valueObject.Password
Created time.Time
Updated time.Time
}
func NewPerson(name valueObject.Name, email valueObject.Email, password valueObject.Password) *Person {
id := uuid.New()
return &Person{
Id: id.String(),
Name: name,
Email: email,
Password: password,
Created: time.Now(),
Updated: time.Now(),
}
}
我所有的值对象都有一个通过模拟get的函数来获取私有值的方法,我没有放置我的值对象的其余代码,所以它不会变大
从表中获取所有行的 func:
func (r *personRepository) GetAll() (persons []*entities.Person, err error) {
qry := `select id, first_name, last_name, email, password created_at, updated_at from persons`
rows, err := r.conn.Query(context.Background(), qry)
return nil, fmt.Errorf("err")
}
如果有人可以让我瞥见我如何使用此值对象将此行从银行传递到我的聚合的结构
明月笑刀无情
相关分类