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 |


