728x90
반응형
이 에러는 MyBatis의 selectOne() 사용 시 자주 발생하는 전형적인 문제예요.
selectOne()을 호출했는데 실제 쿼리 결과가 145건이 나왔다는 뜻입니다.
selectOne()은 0건(=null) 또는 정확히 1건만 반환해야 하는데, 여러 건이 반환되면 예외를 던집니다.
원인
- SQL 조건이 너무 느슨해서 결과가 여러 건 나오는 경우
(예: WHERE 조건 누락, PK가 아닌 칼럼으로 검색 등) - 잘못된 매핑으로 실제로는 N건인데 1건으로 생각하고 호출한 경우
- 비즈니스 로직 오류로 애초에 여러 건이 나오는 상황을 고려하지 않고 selectOne()을 사용한 경우\
나의 경우에는 parameter 조건을 느슨하게 하여 (null만 체크)
하나의 조회결과가 나와야하는데, 여러개가 나와버려서 발생.
728x90
반응형