해결된 질문
작성
·
55
·
수정됨
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
안녕하세요.
복습 할겸, 새로운 헬로우 스프링을 만들어서 다시 영상을 보면서 치고 있었습니다.
그리고 나서 테스트 케이스 만드는 부분이 잇었는데, 여기에서 저는 그냥 하는 김에 전부다 테스트 케이스를 만들자! 라는 생각이 들어서 만들었습니다.
그리고 나서 통합 테스트 영상까지 따라 치고 나서,(메모리 테스트 케이스를 복사 붙여 놓기를 한다음 @SpringBootTest @Transactional @Autowired는 추가 햇음) 테스트 케이스를 실행햇는데
테스트 케이스에서 노랑색 에러 메시지가 뜹니다.
이렇게요.
그래서. 전에 만든 helloSpring어떤가 시범을 해봤는데(코드를 똑같이 완전히 복사 붙여 놓기 하고 코드에 문제 없는지 확인.)
잘 되더 라고요.
근데. 빈 을 안 건드린게 생각나서
jpa템플릿에서 jdbc로 바꾸니 똑같이 오류나는 것을 확인할 수 있었습니다.(전에는 getId로 비교해서 테스트 케이스를 통과한 것 같습니다.)
(jpa 메모리 에서 통합 테스트 한것)
여기서 궁금증이
왜 jdbc에서는 객체의 주소값 이 다른지 알고싶습니다.
테스트에서는 뭐 알수가 없더라고요.
답변 부탁 드립니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
생각하는자님께서 질문하신 내용은 스프링의 JDBC와 JPA 환경에서 객체의 주소값이 다른 이유에 대한 질문으로 이해됩니다. 각각의 환경에서 객체의 처리 방식이 달라 발생하는 문제일 수 있습니다.
JDBC vs JPA 환경의 차이:
트랜잭션 관리:
캐싱 및 영속성 컨텍스트:
아래는 유사한 문제를 겪었던 다른 수강생들의 질문을 포함한 링크입니다. 인사이트를 얻는 데 도움이 될 수 있으니 참고해 보세요:
- “MemberServiceIntegrationTest 테스트 케이스 간섭 발생”
- “여러가지 오류를 만나다, 해결을 하였지만 소스 중에서 이해가 되지 않는 부분이 있어 작성하게 되었습니다.”
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
“즉, 데이터베이스에서 객체를 다시 가져오는 경우 같은 데이터가 담긴 새 객체가 되므로 주소값이 다르게 나타날 수 있습니다” 이거 때문네 주소값이 다르게 나온다는 거죠?