inflearn logo
강의

Course

Instructor

Slack Clone Coding [Backend with NestJS + TypeORM]

typeorm transaction

트랜잭션 관련 질문드립니다.

250

nababora0928

2 asked

1

안녕하세요.

@TransactionRepository 사용법에 대한 질문을 드리고자 합니다.

join(회원가입) 메서드 내에서 세 개의 레포지토리에 대해 트랜잭션을 걸어주고자 할 때 아래 두 가지 방법 중 어느 것이 옳은지 궁금합니다.

방법1> 트랜잭션이 필요한 메서드에서 해당 엔티티를 트랜잭션 레포지토리로 가져오고 메서드 내에서 사용하기. 그리고 이때 constructor로 가져온 레포지토리는 그대로 유지하기.

(즉, 각각의 엔티티에 대하여 일반 레포지토리와 트랜잭션 레포지토리를 따로 구분하여 사용?)

방법 2> constructor를 통해 각각의 레포지토리를 트랜잭션 레포지토리로 가져오고, 메서드 내에서 this 사용하기.

NestJS TypeORM express nodejs

Answer 1

0

nababora0928

방법1>의 경우 join 메서드의 매개변수가 6개로 인식이 되어, 컨트롤러에서 해당 서비스의 메서드를 호출할 때 에러가 발생했습니다. 하지만 API 요청을 하면 정상적으로 동작을 합니다..!

이번에는  방법 2>로 테스트를 해봤습니다.

위 결과를 보면 알 수 있듯이  서비스단에서 @TransactionRepository 데코레이터로 각 엔티티의 레포지터리를 주입받아 사용하니까 정상적으로 트랜잭션이 수행되었습니다.

공식문서(+ 강의내용)에서는 해당 데코레이터를 메서드의 매개변수 안에서 사용했는데, 어떻게 사용하는게 옳은 방법인지 더욱 궁금해졌습니다..ㅠㅜ

트랜잭션 데코레이터 사용법에 대한 보충 설명을 부탁드리겠습니다..!

0

zerocho

https://www.inflearn.com/questions/240957

참고하시면 됩니다.

방법2가 더 좋은 방법 같네요.

0

nababora0928

방법2>로 똑같이 재시도를 하는데.. 이번엔 아래와 같은 에러가 발생하네요ㅎㅎ
아무래도 새벽에 테스트해볼 때 Nest의 핫리로드 기능에 버그가 있던게 아닌가 싶네요ㅠ

TypeORM의 트랜잭션 기능을 좀 더 살펴보고 공부해봐야겠습니다!

0

zerocho

저는 1번 방법으로만 해서 2번이 되는지.잘 모르겠습니다. 되면 2번이 더 낫긴 한데 저도 연구해보겠습니다

강의자료는 어디서 다운받나요?

0

110

3

질문 있습니다.

0

295

3

코드 편집기 확장 프로그램

0

209

2

(질문)비밀 저장소에 접근하기 위한 인증 정보는 로컬 .env에 저장하는지?

0

143

2

(질문)외부 저장소를 통한 환경변수 불러오기 비동기 질문

0

166

3

로그인을 해도 LoggedInGuard쪽에서 false값이 나옵니다.

0

152

2

로그인방법이 고민됩니다.

0

190

2

yarn seed 명령어 실행 시 데이터 삽입 안됨

0

296

4

yarn run db:create 시에 발생하는 데코레이터 오류

0

242

2

npm run db:create 시에 발생하는 decorating 오류

0

232

2

RxJS 디버깅 질문 있습니다.

0

187

3

CacheManager에 대해 질문 있습니다.

0

173

2

로깅은 어떻게 하는게 효율적일까요?

0

224

1

CORS 질문 있습니다.

0

417

2

쿠키 옵션에 대해서 질문 있습니다.

0

184

2

로그아웃 요청이 403 forbidden 에러가 나는데 왜그런걸까요??

0

447

1

401 unauthorized문제

0

286

1

가드의 장점에 대해서 질문이 있습니다.

0

225

1

로그 관리에 대해 질문 있습니다.

0

252

2

CORS 에러 질문 있습니다.

0

318

2

배포 환경 DB 연결 질문 있습니다.

0

411

2

socket io 미 연결 문제 (nest & flutter)

1

1154

3

no elements in sequence 에러 관해서 질문이 있습니다.

0

454

1

start:dev-backup으로 돌리면 핫 리로딩이 되요 정상인가요?

0

322

1