【发布时间】:2018-06-01 20:04:37
【问题描述】:
我在尝试创建具有关系的实体的新对象时收到 TypeError: Cannot read property 'joinColumns' of undefined
at <...>/src/persistence/SubjectOperationExecutor.ts:282:47 错误。为什么会这样?
在一个实体中我有:
@Entity('users')
export class User extends WhateverEntity {
@PrimaryGeneratedColumn('uuid')
id: string
@ManyToMany(type => Account, account => account.users, {
cascadeInsert: true,
cascadeUpdate: true,
})
@JoinTable()
accounts: Account[]
}
第二个:
@OneToOne(type => User, user => user.id)
owner: User
@ManyToMany(type => User, user => user.accounts)
users: User[]
我这样保存(owner: User 和 users: User[]:
const account = new Account()
account.owner = owner
account.users = users || []
return this.accountRepository.save(account)
即使我注释掉account.owner = owner 或account.users = users || [],它也不起作用。它保存帐户,但不建立关系。
附加信息:如果我在保存之前console.log account - 它确实有所有者和用户作为User 类的实例。
owner 和 users 是数据库中已经存在的用户实体对象。
【问题讨论】:
标签: typescript typeorm nestjs