[typeOrm]Entity Listener발생조건

코드깎는 노인·2022년 1월 31일
0
post-custom-banner

typeorm에서 특정 엔티티의 이벤트시 발생시 동작하는 이벤트리스너를 엔티티에 등록할 수 있다.
하지만 항상 이벤트리스너가 발생하는건 아니고 객체가 아닌 엔티티 인스턴스를 생성해야 이벤트가 발생한다.

예시

create(email:string,password,string){
	cosnt user = this.repo.create({email,password});
    return this.repo.save(user) -- 1
  // return this.repo.save({email,password}) -- 2
}

2번과 같이 엔티티 인스턴스를 생성하지 않고 직접 객체를 저장한다면 이벤트리스너가 발생하지 않는다.
또한 save대신 insert,update메소드 실행시 @afterInsert는 발생하지 않으며 마찬가지로 remove대신 delete메소드 실행시 @afterRemove가 실행되지 않는다.

참고자료
https://stackoverflow.com/questions/54246615/what-s-the-difference-between-remove-and-delete

profile
내가 볼려고 만든 블로그
post-custom-banner

0개의 댓글