我们可以在typeorm/hibernate中命名一个关系映射,以便在抛出错误时,在读取/理解它时更有意义吗?



我有两个实体userstudent,两者之间有一个onetoone映射 -student取决于user。当我尝试在学生中创建一条user中没有映射记录的记录时,它会给出如下错误-

[Nest] 4040   - 06/28/2020, 4:06:36 PM   [ExceptionsHandler] insert or update on table "student" violates foreign key constraint "FK_8231416aa588b99afce55d26032" +130ms
QueryFailedError: insert or update on table "student" violates foreign key constraint "FK_8231416aa588b99afce55d26032"

我想知道是否可以命名实体中的onetoone关系,以便此错误变得更加卑鄙,例如 -UserNameFKContraint而不是FK_8231416aa588b99afce55d26032.

这就是我在实体中拥有的 -

@OneToOne(() => User, { nullable: false })
@JoinColumn({
name: 'userName',
referencedColumnName: 'userName',
})
user: User;

是的。删除该表并使用以下内容批注OneToOne

@ForeignKey(name="your_constraint_name")

基本上,如果您让 JPA 创建表,您可以自定义表名、列名、外键列名、连接表名(如果使用(、任何非同名

相关内容

最新更新