• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

em.persist의 예외처리는 어디서 처리해야하나요?

23.02.11 17:33 작성 23.02.11 17:53 수정 조회수 272

0

회원가입시 em.persist(member)를 실행하게 되면, 바로 DB에 SQL문이 날아가는게 아니라 2차 쓰기 지연때문에, 트랜잭션이 커밋될때 sql문이 날아가기 때문에, 메소드가 끝나는 시점에 db에 반영되는걸로 아는데, 그렇다면 만약 중복 ID가 이미 등록되어 있는 경우의 exception을 처리해주기 위해서 공통예외처리를 만들어주었다고 한다면, repository에서 exception을 던지는게 맞는지 아니면 service에서 exception을 던지는게 맞는지 궁금합니다.

대신, 동시성 처리 문제현상때문에 validateDuplicateMember를 모두 통과했다는 가정하에 질문드립니다.

답변 1

답변을 작성해보세요.

0

안녕하세요 chunseunghun님^^

제가 직접 정답을 알려드릴 수 도 있지만, 그러면 더 많은 것을 얻어가지 못합니다.

개발자는 궁금한 부분을 직접 코드로 테스트 해볼 때 가장 많이 배울 수 있습니다.

해당 부분을 코드로 직접 테스트해보시고, 그 결과를 공유해주세요. 그러면 함께 공부하는 분들께도 큰 도움이 될거에요.

그럼 테스트 해보시고 결과도 정리해서 공유 부탁드립니다.

감사합니다.