Oracle Clob 긴문자열 MERGE 할때 java.sql.SQLRecoverableException: IO Error: Connection reset 발생할때
mybatis 2018. 5. 24. 13:57
짧은 문자열은 말짱하게 잘되는데 긴문자열 입력할때 뜬금없이 java.sql.SQLRecoverableException 이 발생했다.
구글 찾아보니 random 어쩌고 하던데 그거 따라 해도 계속 에러났다.
결론는 MERGE 구문을 안쓰는 것이다 -.-
계속 찾아보면 방법이 나올것 같기도 하지만 경험상 몇번 검색해서 잘 안되면 방법이 없는 경우가 많아서 그냥 포기하기로...
Mybatis 의 choose - when - otherwise 를 요런식으로 써서 최대한 MERGE 랑 비슷하게 변경하기로 했다. 쫌 많이 불편하지만 에러가 나는것을 어떻게 하나.
<insert id="save"> <selectKey keyProperty="seq" resultType="Integer" order="AFTER"> <choose> <when test="seq==null"> SELECT S_SEQ.CURRVAL FROM DUAL </when> <otherwise> SELECT ${seq} FROM DUAL </otherwise> </choose> </selectKey> <choose> <when test="seq==null"> INSERT INTO TB_TBL ( SEQ , COL1 , COL2 ) VALUES ( S_SEQ.NEXTVAL , #{col1} , #{col2} ) </when> <otherwise> UPDATE TB_TBL SET COL1= #{col1} , COL2= #{col2} WHERE SEQ = #{seq} </otherwise> </choose> </insert>
'mybatis' 카테고리의 다른 글
myBatis 동적쿼리에서 문자열 비교하기 (2) | 2012.02.06 |
---|---|
java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransactionFactory.newTransaction (0) | 2011.11.28 |
mybatis Oracle Procedure 호출하기 (0) | 2011.10.25 |
mybatis 동적쿼리 조건문에 isEmpty, isNotEmpty 를 써보자. (2) | 2011.10.18 |
mybatis 쿼리, 쿼리결과 로깅을 위한 log4j.xml 설정 (0) | 2011.10.12 |