inheritance - TypeORM 混凝土表和与其他表的关系
问题描述
我有名为 User 、 Page 、 Element 和 Class 的类 Element 是一个抽象类,它将成为基类。那么我将有不同的类扩展元素(例如:Element1,Element2 ...)。
类元素:
export abstract class Element extends BaseEntity {
@PrimaryGeneratedColumn()
id: number;
//Adding other common Fields...
@ManyToOne(type => User, user => user.blocks, { eager: false })
@JoinColumn({name:"userId"})
user: User;
@Exclude()
@Column({ select: false })
userId: number;
@ManyToOne(type => Page, page => page.elements, { eager: false })//error
@JoinColumn({name:"pageId"})
page: Page;
@Column()
pageId: number;
}
班级页面:
@Entity()
export class Page extends BaseEntity {
@PrimaryGeneratedColumn()
id: number;
//Adding other Fields...
@ManyToOne(type => User, user => user.pages, { eager: false })
@JoinColumn({name:"userId"})
user: User;
@Exclude()
@Column({ select: false })
userId: number;
//relation with element
@OneToMany(type => Element, element=> element.page, { eager: true })//error
elements: Element[] | null;
}
班级用户:
@Entity()
@Unique(["email"])
export class User extends BaseEntity {
@PrimaryGeneratedColumn()
id: number;
//Adding other Fields...
//relation with page
@OneToMany(type => Page, page => page.user,{ eager: true })
pages: Page[];
//relation with block
@OneToMany(type => Element, element=> element.user,{ eager: true })
elements: Element[];
}
类元素1:
@Entity()
export class Element1 extends Element{
//Adding other Fields..
}
错误:
Unable to connect to the database. Retrying (1)... +65ms
Error: Entity metadata for Page#elements was not found. Check if you specified a correct entity object and if it's connected in the connection options
我的问题:
1-我是否正确编写了 TypeORM 混凝土表的代码?
2-如果它是正确的?问题是因为在类元素(基类型)中定义关系而不是在子类型类中?
3-最后,有没有更好的方法来做到这一点?
提前感谢您的帮助。
解决方案
推荐阅读
- yii2 - 如何在 yii2 中为模块创建前端和后端结构?
- python - 尝试在嵌套序列化程序中创建多个对象
- python - 如何在 Jupyter Notebook 中绘制/打印出框架?
- java - 有没有办法混合spring-security java配置和@secured注解?
- android - 如何将 Lambda 传递给 MyWorkManager 类?
- angular - makeTransliterable 不适用于自定义 ID
- javascript - 如何将多个文件发送到 fire base 存储并将其 URL 保存在实时数据库中的一条记录中
- django - pycharm django 调试配置无法识别应用程序文件夹
- java - Azure Blob 存储 Java SDK:为什么异步不起作用?
- sql-server-2012 - 更新 SQL Select 语句中每一行的变量