mssql을 사용하는 프로젝트에서 sequence 를 조회하여 key값을 설정고 있었는데
insert문에 key값이 할당되지 않는 문제가 발생했다.
로그를 살펴보니 insert문 앞에 선언한 selectkey 쿼리가 뒤에 실행되는것을
확인할수 있었다.
확인해보니
mybatis select 엘리먼트의
첫줄에 insert문 주석을 표시하고
두번째줄에 selectkey 엘리먼트를 작성한 다음
insert 문을 작성하고있었다.
혹시 하고 첫줄 주석을 selectkey 다음으로 배치를 하니
selectkey를 먼저 실행하여 정상적으로 sequenc 값을 insert문에 등록하는것을 확인할수 있었다.
mybatis가 xml파싱하는과정에서 엘리먼트를 계층적으로 분석할때
이슈가 있나보다.
교훈.
쓰던대로 쓰자.
문제 원인을 파악하고 개념을 이해하자.
일단 수습한거로....