독서하는 개발자's Blog

반응형

<executeQueryForObject returned too many results. 에러>


-> 이 에러가 떴을 때에는 먼저 해당 select 쿼리를 실행해보고 결과값을 확인한다.

- 그럼 분명히 조건절에 넣었던 파라미터 값이 중복된 걸로 여러개의 값이 나오는 것을 볼 수 있다.


그럼 이 쿼리문을 받는 sevice 에서 object로 받는 것을 list형태로 받으면 여러개의 값을 출력할 수 있지만,

하나의 값만 받아야한다면 sql where 절을 바꿔주거나 중복이 나지않게 쿼리를 수정해야한다.

executeQueryForObject  -> executeQueryForList 


아참!! 그리고 조건절에 해당하는 값이 시퀀스이면 primary key를 주었는지 확인하고

저 같은 경우는 primary key지정이 안되어있는 컬럼에 회사 직원분이 강제로 데이터를 밀어넣어서 중복이 발생했다.


primary key 없고 거기에 강제로 데이터를 넣으니 당연히 중복... -> 오브젝트로 받으면 에러 -> 리스트로 받거나 수정한다.

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band