Oracle 12c 에서 원래 데이터타입 'Long' 으로 사용하고 있다, Oracle 의 다른 버전들도 함께 사용해야 한다는 사실을 알게 되었다.
data type 'Long'을 'Clob'로 바꾸는 도중, 아래와 같은 에러를 만났다.
확인해 보니 insert 하려는 row들은 1000개가 넘어있었고,
Mybatis 상 select-insert 중에 해당 에러가 발생하였다.
'clob'는 4GB까지 저장이 가능하지만, mybatis에 바인딩 시, 4000 bytes 가 넘으면 잘라서 저장해줘야 한다는 것...
rdbms를 오라클만 사용하는 게 아니라서 결국 공식문서를 뒤져보기로 했다 ,
확인해 보니
https://mybatis.org/mybatis-3/ko/configuration.html#typeHandlers
아래와 같은 샘플코드를 이용하여 작성하니 성공!
<insert id="insert2">
insert into users2 (id, name, funkyNumber, roundingMode) values (
#{id}, #{name}, #{funkyNumber}, #{roundingMode, typeHandler=org.apache.ibatis.type.ClobTypeHandler}
)
</insert>
아래의 공식을 확인 후, 필요한 타입핸들러를 작성하면 된다 !
https://mybatis.org/mybatis-3/ko/configuration.html#typeHandlers