是否可以创建一个实体成员,该成员将在typeorm的单个类下将具有OneToMany关系的其他成员分组?

时间:2019-08-27 13:50:45

标签: node.js express graphql nestjs typeorm

使用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[]
}

我想知道是否可以用这种方式描述患者的病史。

0 个答案:

没有答案