팀별 프로젝트를 시작하면서 배웠지만 막상 해보니 오류가나오고 혹은 원하는 결과가 나오지않아 짜증나는경우가 생겼었다...
이러한 일을 줄이고 보다 익숙해지기위해 사소하더라도 내게는 많은 시간이 필요했던 내용들을 간단하게라도 적어 후에 상기 시키도록 하려고 한다.
오늘 생긴문제는 헬스장 예약 관리 기능을 개발하던 중, 운영자 페이지에서 예약 목록이 조회되지 않는 문제가 발생했다. 예약 등록 자체는 정상적으로 처리되는데, 조회 화면에서 gymNo가 null로 표시되며 결과가 하나도 나오지 않는 상태였다. 처음에는 데이터 문제일까 의심했지만, DB에 저장된 운영자 계정의 GYM_NO는 1로 정확히 들어가 있었다.
원인을 찾기 위해 로그인 로직부터 다시 살펴보았고, MyBatis로 작성된 로그인 SELECT 쿼리에 GYM_NO 컬럼이 누락되어 있다는 사실을 발견했다. 결국 로그인 순간부터 Member 객체의 gymNo가 null로 세팅되고, 세션에서도 그 값이 그대로 유지되면서 조회 기능이 정상 작동하지 않았던 것이었다.
문제를 해결하기 위해 SELECT 문에 GYM_NO를 추가해 전체 컬럼을 매핑하도록 수정했고, 서버를 재시작한 뒤 다시 테스트하자 gymNo가 정상적으로 1로 출력되며 예약 목록도 제대로 조회되었다.
이번 경험을 통해 VO에 존재하는 필드는 SELECT에도 반드시 포함해야 한다는 기본적인 원칙을 다시 한번 실감했다. 작은 누락 하나가 시스템 전체 오류처럼 보일 수 있다는 점도 느꼈고, 로그를 단계별로 확인하는 디버깅 과정이 문제 해결에 큰 도움이 되었다.
'-- 오늘 있었던 개발 일기' 카테고리의 다른 글
| 오늘의 개발 문제 : React props 화면에 아무것도 안 보인다... (0) | 2025.11.26 |
|---|---|
| 오늘의 개발 문제 : 실행 환경 보안 정책 (0) | 2025.11.24 |
| 오늘의 개발 문제 : 더미데이터 (0) | 2025.11.19 |
| 오늘의 개발 문제 : 초기 로직을 점검하고 수정하는 습관이 필요 (0) | 2025.11.18 |
| 오늘의 개발 문제 : 정렬기준을 다시 만들자 (0) | 2025.11.17 |