728x90
반응형
잘 되던 화면이 갑자기 빨간줄 띄우면서 500에러가 나기 시작
### Cause: java.sql.SQLException: 부적합한 열 이름
; bad SQL grammar []; nested exception is java.sql.SQLException: 부적합한 열 이름
at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:237)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
그래서 문제가 발생한 쿼리를 오라클로 돌려봤는데 아~~~무 이상 없었다
이런 경우 쿼리와 자바소스가 제대로 매핑이 되지 않아서 그런거라는데,
쿼리로 가져오는 컬럼명이랑 resultMap의 property를 비교해봐도 다른 게 없었다..
고 생각했지만!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!111
컬럼 하나가 빠져있었음
<문제가 발생한 구조의 resultMapping + list 쿼리(예시)>
<resultMap id="mapItemList" type="ItemVO">
<result property="itemSeq" column="ITM_SEQ"/>
<result property="itemDivisionCode" column="ITM_DIVISION_CD"/>
<result property="itemName" column="ITM_NM"/>
<result property="itemImageUrl" column="ITM_IMG_URL"/>
<collection property="relatedItemSeqList" column="{itemSeq=ITM_SEQ}" select="com.front.sqlmap.mappers.item.getRelatedItemList"/>
</resultMap>
...
<sql id="getCourseListByRealmTbl">
SELECT
ITM.ITM_DIVISION_CD
, ITM.ITM_NM
, ITM.ITM_IMG_URL
, FI.IMG_NM AS THUM_IMG_NM
, ROW_NUMBER() OVER(ORDER BY ITM.ITM_SEQ DESC ) AS RNUM
FROM TB_SALES_ITM_GOODS ITM
INNER JOIN TB_CMM_IMG FI ON ITM.ITM_SEQ = FI.ITM_SEQ
...
</sql>
...
<sql id="getRelatedItemList">
SELECT
RELAT_ITM_SEQ
, ITM_SEQ
, ITM_NM
, ORD
FROM TB_SALES_ITM_GOODS
WHERE ITM_RELAT_SEQ = {itemSeq}
</sql>
그렇다.. collection으로 가져오는 부분에 사용되는 컬럼이, list 쿼리에서 빠져있었따
다른 페이지에서 사용하려고 collection을 추가한 거라 미처 신경쓰지 못했다..
근데 부적합한 열 이름이라길래 열 이름이 잘못된 줄 알았지 열 자체가 빠진 줄 ... 은... 몰랐네
이거때문에 3시간 날린 게 넘무너무 속상하당ㅋㅋㅋ ㅠㅠ
따끈따끈하고 멍충망충한 오류 기록.. 끝
728x90
반응형
'웹개발지식쌓기' 카테고리의 다른 글
[front] $(document).ready(function(){}) 자바스크립트 버전? (0) | 2024.01.30 |
---|---|
[front] 브라우저의 렌더링 과정 (0) | 2024.01.30 |
[front] JSON.stringify() 와 JSON.parse() (0) | 2024.01.11 |
[back] ViewResolver decorator 오류 (1) | 2024.01.08 |
Git 설치하기 : 'git'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. (0) | 2023.12.10 |