在实际的 LONG 或 LOB 列之后提供了扩展的非 LONG 绑定数据的原因

oracle mybatis ,在插入时,有时出错,有时没问题。

<insert id="insert" parameterType="com.uet.course.entity.Question">
		<selectKey resultType="java.lang.Long" keyProperty="id" order="BEFORE">
			SELECT SEQ_T_QUESTION.nextval from dual  
		</selectKey>
		INSERT INTO T_QUESTION( 
			COURSE_ID,
			PARENT_ID,
			QUESTION_TYPE_ID,
			CHAPTER_ID,
			SECTION_ID,
			KNOWLEDGE_POINT_ID,
			TEACHER_ID, 
			ANSWER, 
			TEST_SITES,
			ANALYSIS,
			DIFFICULTY_LEVEL,
			SCORING_RATE,
			DISCRIMINATION,
			QUESTION_SOURCE,
			NODE_TYPE,
			QUESTION_CATEGORY,
			SCORE,
			SORT,
			CREATE_TIME,
			CREATE_USER,
			UPDATE_TIME,
			UPDATE_USER,
			STATUS,
			IS_RESPONDER,
			RESPONDER_TIME,
			TOPIC,
			STEM, 
			ANALYZE,
			OPINION,QUESTION_ID
		)
		VALUES( 
				#{courseId,jdbcType=NUMERIC}, 
				#{parentId,jdbcType=NUMERIC}, 
				#{questionTypeId,jdbcType=NUMERIC}, 
				#{chapterId,jdbcType=NUMERIC}, 
				#{sectionId,jdbcType=NUMERIC}, 
				#{knowledgePointId,jdbcType=NUMERIC}, 
				#{teacherId,jdbcType=NUMERIC},  
				#{answer,jdbcType=VARCHAR},	
				#{testSites,jdbcType=VARCHAR},				
				#{analysis,jdbcType=VARCHAR},	 
				#{difficultyLevel,jdbcType=NUMERIC}, 
				#{scoringRate,jdbcType=VARCHAR},				
				#{discrimination,jdbcType=VARCHAR},				
				#{questionSource,jdbcType=NUMERIC}, 
				#{nodeType,jdbcType=NUMERIC}, 
				#{questionCategory,jdbcType=NUMERIC}, 
				#{score,jdbcType=VARCHAR},				
				#{sort,jdbcType=NUMERIC}, 
				#{createTime,jdbcType=TIMESTAMP},
				#{createUser,jdbcType=NUMERIC}, 
				#{updateTime,jdbcType=TIMESTAMP},
				#{updateUser,jdbcType=NUMERIC}, 
				#{status,jdbcType=NUMERIC}, 
				#{isResponder,jdbcType=NUMERIC}, 
				#{responderTime,jdbcType=NUMERIC},
				#{topic,jdbcType=VARCHAR},		
				#{stem,jdbcType=VARCHAR},	 
				#{analyze,jdbcType=VARCHAR},				
				#{opinion,jdbcType=VARCHAR},
				#{id,jdbcType=NUMERIC}
		)
	</insert>



草木全
分享到:
0

错误是因为在绑定参数时把数据库中字段类型为LONG的字段放置在其他字段前设置了,只要将类型为LONG的字段绑定参数时放在最后设置即可解决。

上面的xml是正确的,因为已经把ID换到了最后。

但是这是因为什么呢?

            STEM,
            ANALYZE,
            OPINION,

这三个都是clob类型,为什么clob类型不能放在最后呢?

道理上来讲,不同类型,放在哪里都是可以的

有可能是oracel本身的bug

0
共 1 条   当前1/1页

© 2014 究问社区 copyRight 豫ICP备13003319号-1