개발자

디비에는 저장이되는데 리스트조회하면 null로 나오는 이유

2024년 03월 25일조회 145

숙소등록하고 조회했는데 null값이나옵니다.. List<AccommodatuonsVo>로 임폴트 util로 했습니다 마이바티스로 작업한 쿼리를 디비에 조회했을때 제대로 나옵니다.. 매핑도 dto로 저장하고 vo로 리스트로 조회했는데 필드와 칼럼명도 확인했습니다 서비스랑 컨트롤러도 로직도 공지사항이나 문의글 처럼 동일하게했거든여.. 다른점은 외래키설정때문일까요... db에 저장될때 null값 없이 저장됐는데 리스트로 조회하니 null이 나오는게 이해가 안돼요...........

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 1

ccat님의 프로필 사진

resultMap이나 반환타입이 맞나 잘확인해보세요 디비에서 쿼리문이 정상적으로 나오는데 null값이 나오는 경우는 대체적으로 이 문제때문이더라구요

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 03월 25일

해당 문제는 여러 가지 원인에 의해서 발생할 수 있습니다. 몇 가지 가능성 있는 문제점을 제시하겠습니다. 1. 객체 매핑 오류: VO와 테이블 간의 필드 매핑이 잘못되었을 가능성이 있습니다. MyBatis에서는 결과를 자동으로 자바 객체에 매핑하지만, 그 과정에서 필드명의 대소문자, 칼럼명, 데이터 타입 등이 일치해야 합니다. 이 부분을 다시 확인해보세요. 2. SQL 쿼리 오류: DB에서 직접 쿼리했을 때는 결과가 나오지만, MyBatis를 거치면서 쿼리가 정상적으로 동작하지 않을 수 있습니다. SQL 로깅 기능을 사용하여 실제 실행되는 SQL문을 확인해보세요. 3. 외래키(FK) 설정: 외래키 설정이 잘못되었거나, FK로 연결된 다른 테이블에 조회하려는 데이터가 없으면 null 값이 반환될 수 있습니다. 4. 트랜잭션 관련 문제: Spring Boot와 MyBatis는 서로 다른 두 개의 라이브러리로, 각각 별도의 트랜잭션 관리 메커니즘이 있습니다. 만약 이 두 개의 트랜잭션이 충돌한다면 예상치 못한 결과를 초래할 수 있습니다. 해당 문제 해결을 위해 확인해야 할 부분들을 체크해보시길 추천드립니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!