회원가입 테스트 중 빈값 오류
안녕하세요 🙂 해결이 되서 공유 하고자 합니다. 혹시 다른 방법으로 해결하신 분이 계시다면 답글로 공유 부탁드립니다 🙂 혹시 어떤 방법으로 해결 하셨나요? 전 JdbcMemberRepository 에서 Connection의 클래스를 변경 했습니다. conn = dataSource.getConnection();이 부분을conn = DataSourceUtils.getConnection(dataSource);이렇게 수정 했더니 해결이 되었습니다. -- -- -- -- -- -- -- -- -- -- -- -- -- -- dataSource.getConnection() → 그냥 새 커넥션을 무조건 열어버림.이 커넥션은 스프링이 관리하는 트랜잭션 커넥션과 전혀 상관없음.save()에서 INSERT는 트랜잭션 커넥션findById()에서 SELECT는 새 커넥션 실행새 커넥션은 아직 INSERT가 커밋되지 않았으니 → “데이터 없음” 결과가 나옴 -- -- -- -- -- -- -- -- -- -- -- -- --DataSourceUtils.getConnection()을 쓰면, 이 메서드는 스프링 트랜잭션 매니저가 관리하는, 현재 사용중인 커넥션을 찾아서 반환한다. 따라서 INSERT → SELECT 모두 같은 커넥션 안에서 실행됨.결과적으로 롤백/커밋도 올바르게 동작. -- -- -- -- -- -- -- -- -- -- -- -- --