我有以下实体:
@Entity()
export class FavoriteEntity {
@PrimaryGeneratedColumn('uuid')
id: string;
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
@DeleteDateColumn()
deletedAt: Date;
@Column({ default: null })
name: string;
@ManyToOne(() => UserEntity, (user) => user.favorites)
user!: UserEntity;
@OneToMany(() => FavoriteHomeworkEntity, (favoriteHomework) => favoriteHomework.favorite)
favoriteHomeworks!: Array<FavoriteHomeworkEntity>;
homeworksCount: number;
constructor(partial: Partial<FavoriteEntity>) {
Object.assign(this, partial);
}
}
@Entity()
export class FavoriteHomeworkEntity {
@PrimaryGeneratedColumn('uuid')
id: string;
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
@DeleteDateColumn()
deletedAt: Date;
@ManyToOne(() => FavoriteEntity, (favorite) => favorite.favoriteHomeworks, {onDelete: "CASCADE"})
favorite!: FavoriteEntity;
@ManyToOne(() => HomeworkEntity, (homework) => homework.favoriteHomeworks)
homework!: HomeworkEntity;
constructor(partial: Partial<FavoriteHomeworkEntity>) {
Object.assign(this, partial);
}
}
我预计当我
softRemove
favorite
实体时,我也会删除它们所有的 favoriteHomeworks
。不幸的是它没有发生。谁能解释一下我做错了什么吗?
我预计当我
softRemove
favorite
实体时,我也会删除它们所有的 favoriteHomeworks
。不幸的是它没有发生。谁能解释一下我做错了什么吗?
//userEntity
@OneToMany(() => ProfileEntity, (profile) => profile.userId, {
cascade: true,
})
profiles: ProfileEntity[];
//ProfileEntity
@ManyToOne(() => UserEntity, (user) => user.profiles, {
createForeignKeyConstraints: false,
onUpdate: 'CASCADE',
onDelete: 'CASCADE',
})
//database profile deleted_At
default Expression : CURRENT_TIMESTAMP
//users.repository
async remove(id: number) {
return this.usersRepository.softRemove(_.assign(new UserEntity(), { id
}));
}