node.js - TypeORM 单表继承在@Entity() 和@ChildEntity() 之间使用抽象类
问题描述
我想用 TypeORM 实现以下单表继承:
@Entity()
@TableInheritance({column: {type: "varchar", name: "type"}})
export class BaseDevice {
@PrimaryGeneratedColumn({type: "uuid"})
id: string;
// other fields
}
abstract class MeasureableDevice extends BaseDevice {
@Column()
value: string;
// other fields
}
@ChildEntity()
export class TemperatureSensor extends MeasureableDevice {
@Column()
position: string;
// other fields
}
但是当我运行我的应用程序时,我收到以下错误:
(node:2574710) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'build' of undefined at /node_modules/typeorm/metadata-builder/EntityMetadataBuilder.js:526:83 at Array.forEach () at EntityMetadataBuilder.computeEntityMetadataStep2 (/node_modules/typeorm/ metadata-builder/EntityMetadataBuilder.js:526:37) at /node_modules/typeorm/metadata-builder/EntityMetadataBuilder.js:81:74 at Array.forEach () at EntityMetadataBuilder.build (/node_modules/typeorm/metadata-builder/EntityMetadataBuilder .js:81:25) 在 ConnectionMetadataBuilder.buildEntityMetadatas (/node_modules/typeorm/connection/ConnectionMetadataBuilder.js:57:141) 在 Connection.buildMetadatas (/node_modules/typeorm/connection/Connection.js:514:57) 在 Connection. (/node_modules/typeorm/connection/Connection.js:127:30) 在步骤 (/node_modules/tslib/tslib.js:141:27) (使用
node --trace-warnings ...
显示警告的创建位置)(节点:2574710)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。要在未处理的 Promise 拒绝时终止节点进程,请使用 CLI 标志--unhandled-rejections=strict
(请参阅 https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。(拒绝 id:1)(节点:2574710)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。
@Entity()
当我删除 of和类之间的抽象类并将字段直接@ChildEntity()
复制到一切正常时。因此,这些带注释的类之间的抽象类似乎存在问题。有谁知道如何解决这个问题?@Column()
abstract class MeasureableDevice
class TemperatureSensor
解决方案
推荐阅读
- javascript - 如何在 javascipt 中下载应用程序/八进制流图像
- sql - 如何获得 7 天前同一时间的百分比变化?
- python - Httpwebrequest C#:远程服务器返回错误:(400) Bad Request
- javascript - 单击移动菜单链接时关闭汉堡菜单
- powershell - Out-File ".\demo.json" 命令不工作 - 没有文件被写入,硬编码路径似乎工作
- jquery - 如何将 createTextNode 和 appendChild 转换为 React
- c# - C# SQL 连接参数登录
- c++ - 如何读取wav文件的数据
- python - 有没有办法让不和谐的 py 机器人通过命令停止 cog 中的循环实例
- jpa - 如何强制关系数据库的@Lock注释异常