DataBase/SQL

[Postgresql] 주석처리 했을 때 나는 오류 Could not set parameters for mapping: / Error setting non null for parameter #3 with JdbcType null .

반응형

postgresql로 인서트 문을 작성했다. 

    <insert id="insertLog" parameterType="LogDTO">
        INSERT INTO LOG_TABLE(USR_ID, LOG)
        -- VALUES(DGUARD.ENCRYPT('CRYPTO', 'ID', #{usrId}), #{log})
        VALUES(#{usrId}), #{log})
    </insert>

 

DGUARD 암호화 테스트는 나중에 하려고 주석처리 하고서 인서트 문을 작성했는데 에러가 터져서 멘붕이 왔다. 대체 왜... 왜지? 자꾸 3번째 파라미터값을 걸고 넘어지는데 해당 파라미터값은 date값으로 default가 설정되어 있는 컬럼이었다. 혼란의 도가니... 

org.mybatis.spring.MyBatisSystemException: 
nested exception is org.apache.ibatis.type.TypeException: 
Could not set parameters for mapping: 
ParameterMapping{property='usrId', mode=IN, javaType=class java.lang.String, 
jdbcType=null, numericScale=null, resultMapId='null', jdbcTypeName='null', 
expression='null'}. 
Cause: org.apache.ibatis.type.TypeException: 
Error setting non null for parameter #3 with JdbcType null . 
Try setting a different JdbcType for this parameter or a different configuration property. Cause: org.postgresql.util.PSQLException: 
The column index is out of range: 3, number of columns: 2.

검색을 좀 해보니까 주석이 문제를 일으키는 경우가 있다고 해서 주석 삭제 후 다시 돌려보니 말끔하게 돌아갔다. 세상에.

728x90
반응형