728x90
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 3
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
at com.sun.proxy.$Proxy132.selectOne(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:166)
at one.framework.dao.ONEDaoSupport.select(ONEDaoSupport.java:34)
at one.framework.dao.CommonDao.getString(CommonDao.java:16)
🔍 원인
결과 값이 여러개가 리턴되어 발생하는 예외이다. 나의 경우는 쿼리에서 중복제거를 하지 않아서 발생했다.
💡 해결
이럴 때는 DISTINCT나 GROUP BY절을 이용해 중복되는 결과를 제거해준다.
SELECT DISTINCT
GW_APPROVAL_CD
FROM T_TEST
WHERE 1 = 1
AND LINE_TYPE = 'TEST'
AND DEL_YN = 'N'
또는
SELECT
GW_APPROVAL_CD
FROM T_TEST
WHERE 1 = 1
AND LINE_TYPE = 'TEST'
AND DEL_YN = 'N'
GROUP BY GW_APPROVAL_CD
728x90
'Error' 카테고리의 다른 글
[MySQL]Uncaught TypeError: value.replace is not a function 해결 (0) | 2024.02.02 |
---|---|
[MySQL]Lock wait timeout exceeded; try restarting transaction (0) | 2024.02.01 |
[MSSQL]Insert시 Data truncated for column 'date' at row 1 경고(feat.REPLACE()) (0) | 2024.01.23 |
[Vue.js] Vue warn 자주 발생하는 경우와 해결 법 (2) | 2024.01.03 |
[Java] java.lang.NullPointerException(feat. null과 isEmpty()) (4) | 2023.12.28 |