admin管理员组

文章数量:1277910

How I can use getter and setter in TypeORM.

I saw issues in here and also here, but not found answer

For example a left my User entity

export class User {
    @PrimaryGeneratedColumn()
    private id: number;

    @Column()
    @Length(4, 20)
    @IsNotEmpty()
    private name: string;

    @Column()
    @Length(4, 100)
    @IsNotEmpty()
    private password: string;

    public getId(): number {
        return this.id;
    }

    public getPassword(password: string): string {
        return this.password;
    }

    public setPassword(password: string): User {
        this.password = bcrypt.hashSync(password, 8);

        return this;
    }

    public setName(name: string): User {
        this.name = name;

        return this;
    }
}

I use TypeORM version 0.2.7

How I can use getter and setter in TypeORM.

I saw issues in here and also here, but not found answer

For example a left my User entity

export class User {
    @PrimaryGeneratedColumn()
    private id: number;

    @Column()
    @Length(4, 20)
    @IsNotEmpty()
    private name: string;

    @Column()
    @Length(4, 100)
    @IsNotEmpty()
    private password: string;

    public getId(): number {
        return this.id;
    }

    public getPassword(password: string): string {
        return this.password;
    }

    public setPassword(password: string): User {
        this.password = bcrypt.hashSync(password, 8);

        return this;
    }

    public setName(name: string): User {
        this.name = name;

        return this;
    }
}

I use TypeORM version 0.2.7

Share Improve this question edited Oct 11, 2022 at 13:09 Jawad Ahbab 1,6371 gold badge20 silver badges31 bronze badges asked Feb 23, 2020 at 16:53 pavelpavel 1491 gold badge1 silver badge8 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 8

@BeforeInsert & @AfterLoad

BeforeInsert https://typeorm.io/#/listeners-and-subscribers/beforeinsert
AfterLoad https://typeorm.io/#/listeners-and-subscribers/afterload

Use @BeforeInsert as setter

@Entity()
export class Post {
    @BeforeInsert()
    updateDates() {
        this.createdDate = new Date()
    }
}

Use @AfterLoad as getter

@Entity()
export class Post {
    @AfterInsert()
    resetCounters() {
        this.counters = 0
    }
}

本文标签: javascriptHow I can use getter and setter in TypeORMStack Overflow