gpt4 book ai didi

typescript - 为什么在尝试建立关系时 joinColumns 未定义?

转载 作者:搜寻专家 更新时间:2023-10-30 21:22:35 24 4
gpt4 key购买 nike

我得到 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: Userusers: 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 的实例类。


ownerusers是已经在数据库中的用户实体对象。

最佳答案

您可能忘记将 @JoinColumn() 装饰器放在您的 @OneToOne 关系上。一定是那里的样子

@OneToOne(type => User, user => user.id)
@JoinColumn()
owner: User

关于typescript - 为什么在尝试建立关系时 joinColumns 未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47886092/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com