使用nodeJS构建的服务器端+使用nestJS,apollo服务器(graphQL),typeorm和postgreSQL进行表达。
有一个实体与其他实体具有oneToMany关系。 是否可以将其中一些分组在数据库中没有任何表示形式的类中,换句话说,不是实体?
例如:
有一个实体Patient
与这些实体有关系:PatientAlergy, PatientSymptom, MedicalCondition, etc...
我撒谎将所有这些分组到一个类MedicalHistory
中,以便Patient
拥有成员medicalHistory
。
是否可以给这个medicalHistory
字段一个Decocorator来定义它,以便ORM能够识别它?
我尝试在typeorm的文档和示例中寻找答案,但是没有发现任何有用的东西。
patient.entity.ts:
@Entity()
@ObjectType()
@InputType('patient')
export class Patient extends BaseEntity {
@PrimaryGeneratedColumn()
@Field(type => ID, { nullable: true })
id: number
@Field(type => MedicalHistory, { nullable: true })
//@SomeDecorator()
medicalHistory?: MedicalHistory
}
madical-history.dto.ts:
@ObjectType()
@InputType('medicalHistory')
// @SomeOtherDecorator()
export class MedicalHistory {
@Field(type => MedicalCondition, { nullable: true })
@OneToMany(type => MedicalCondition, medicalCondition => medicalCondition.patient, { cascade: true })
medicalConditions: MedicalCondition[]
@Field(type => FamilyMedicalCondition, { nullable: true })
@OneToMany(type => FamilyMedicalCondition, familyMedicalCondition => familyMedicalCondition.patient, { cascade: true })
familymedicalConditions: FamilyMedicalCondition[]
@Field(type => PatientAlergy, { nullable: true })
@OneToMany(type => PatientAlergy, patientAlergy => patientAlergy.patient, { cascade: true })
alergies: PatientAlergy[]
@Field(type => PatientProcedure, { nullable: true })
@OneToMany(type => PatientProcedure, patientProcedure => patientProcedure.patient, { cascade: true })
procedures: PatientProcedure[]
@Field(type => PatientSymptom, { nullable: true })
@OneToMany(type => PatientSymptom, patientSymptom => patientSymptom.patient, { cascade: true })
symptoms: PatientSymptom[]
}
我想知道是否可以用这种方式描述患者的病史。