首页 > 解决方案 > TypeOrm 插入同一行

问题描述

这是我的实体类

@Entity('leg')
export class Leg {

    @PrimaryGeneratedColumn()
    id: number;

    @Column() startDateTime: Date;
    @Column() endDateTime: Date;
    @Column() cost: number;
    @Column() price: number;

    @OneToOne( type => Station,{
        cascade: true,
    })
    @JoinColumn()
    startStation: Station;

    @OneToOne( type => Station,{
        cascade: true,
    })
    @JoinColumn()
    endStation: Station;

}

@Entity('station')
export class Station {

    @PrimaryGeneratedColumn()
    id: number;

    @Column() stationCode: string;
    @Column() lat: string;
    @Column() lng: string;
    @Column() publicNameShort: string;
    @Column() publicNameLong: string;

    @OneToOne( type => Address,{
        cascade: true,
    })
    @JoinColumn()
    address: Address;

}

@Entity('address')
export class Address {

    @PrimaryGeneratedColumn()
    id: number;

    @PrimaryColumn() line1: string;
    @PrimaryColumn() line2: string;
    @PrimaryColumn() country: string;
    @PrimaryColumn() state: string;
    @PrimaryColumn() zip: number;
    @PrimaryColumn() city: string;

    @OneToMany( type => Billing,
        billing => billing.address,)
    billings: Billing[];

}

当我插入一个新分支时,TypeOrm 每次都会插入一个新地址,即使该地址存在于表中。

地址表

这是我最终得到的地址表。如果地址存在,我不想插入地址。

标签: postgresqltypescripttypeorm

解决方案


推荐阅读