Tom*_*ski 7 typescript typeorm nestjs
我越来越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[]
}
Run Code Online (Sandbox Code Playgroud)
第二个:
@OneToOne(type => User, user => user.id)
owner: User
@ManyToMany(type => User, user => user.accounts)
users: User[]
Run Code Online (Sandbox Code Playgroud)
我这样保存(在哪里owner: User和users: User[]:
const account = new Account()
account.owner = owner
account.users = users || []
return this.accountRepository.save(account)
Run Code Online (Sandbox Code Playgroud)
即使我注释掉account.owner = owner或account.users = users || []. 它节省了帐户,但不建立关系。
附加信息:如果我在保存之前console.log是account正确的 - 它确实将所有者和用户作为User类的实例。
owner并且users是已经在数据库中的用户实体对象。
D.Z*_*tov 13
你可能忘了把@JoinColumn()装饰器放在你的@OneToOne关系上。它必须像那里
@OneToOne(type => User, user => user.id)
@JoinColumn()
owner: User
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6313 次 |
| 最近记录: |