@AfterLoad

    了解有关listeners的更多信息。

    @BeforeInsert

    你可以在实体中定义任何名称的方法,并使用@BeforeInsert标记,TypeORM 将在使用 repository/managersave插入实体之前调用它。例如:

    1. @Entity()
    2. export class Post {
    3. @BeforeInsert()
    4. updateDates() {
    5. this.createdDate = new Date();
    6. }
    7. }

    了解有关listeners的更多信息。

    @AfterInsert

    你可以在实体中定义任何名称的方法,并使用@AfterInsert标记,TypeORM 将在使用 repository/managersave插入实体后调用它。例如:

    1. @Entity()
    2. export class Post {
    3. @AfterInsert()
    4. resetCounters() {
    5. }

    @BeforeUpdate

    你可以在实体中定义任何名称的方法,并使用@BeforeUpdate标记,TypeORM 将在使用 repository/managersave更新现有实体之前调用它。例如:

    了解有关 的更多信息。

    @AfterUpdate

    你可以在实体中定义任何名称的方法,并使用@AfterUpdate标记,TypeORM 将在使用存储库/管理器save更新现有实体之后调用它。例如:

    1. @Entity()
    2. export class Post {
    3. @AfterUpdate()
    4. updateCounters() {
    5. this.counter = 0;
    6. }
    7. }

    了解有关 的更多信息

    @BeforeRemove

    1. @Entity()
    2. export class Post {
    3. @BeforeRemove()
    4. updateStatus() {
    5. this.status = "removed";
    6. }
    7. }

    了解有关 的更多信息。

    @AfterRemove

    你可以在实体中定义一个任何名称的方法,并使用@AfterRemove标记它,TypeORM 将在使用 repository/managerremove删除实体之后调用它。例如:

    了解有关 的更多信息。

    @EventSubscriber

    将类标记为可以侦听特定实体事件或任何实体事件的事件订阅者。使用和 repository/manager 方法触发事件。例如:

    1. @EventSubscriber()
    2. export class PostSubscriber implements EntitySubscriberInterface<Post> {
    3. /**
    4. */
    5. listenTo() {
    6. return Post;
    7. }
    8. /**
    9. * 在POST INSERTED之前调用。
    10. */
    11. beforeInsert(event: InsertEvent<Post>) {
    12. console.log(`BEFORE POST INSERTED: `, event.entity);
    13. }
    14. }
    1. @EventSubscriber()
    2. export class PostSubscriber implements EntitySubscriberInterface {
    3. /**
    4. * 在ENTITY INSERTED之前
    5. */
    6. beforeInsert(event: InsertEvent<any>) {
    7. console.log(`BEFORE ENTITY INSERTED: `, event.entity);
    8. }

    了解有关 的详细信息