#typescript #typeorm
Вопрос:
Допустим, у меня есть два типа информационных схем, и одна из них является подмножеством другой:
type BasicInformation = {
code: string;
basicInfo1: string;
}
type DetailedInformation = {
code: string;
basicInfo1: string;
detailedInfo1: string;
detailedInfo2: string;
}
Я хочу использовать наследование для создания сущностей, но Typeorm разрешает это только в том случае, если базовый класс абстрактен. Я также хочу иметь возможность использовать базовый класс. Как я могу достичь чего — то подобного:
@Entity()
class BasicInformation {
@PrimaryColumn()
code: string;
@Column()
basicInfo1: string;
}
@Entity()
class DetailedInformation extends BasicInformation {
@Column()
detailedInfo1: string;
@Column()
detailedInfo2: string;
}
Я могу использовать отношения, но тогда я не смогу использовать класс сущностей в качестве интерфейса в Typescript. Кроме того, он изменяет форму объекта при запросе.
// Query result when using relations
{
basicInformation: {
code: string;
basicInfo1: string;
}
detailedInfo1: string;
detailedInfo2: string;
}
// I want this result
{
code: string;
basicInfo1: string;
detailedInfo1: string;
detailedInfo2: string;
}