이 문제에 대한 여러 가지 StackOverflow 질문을 살펴 봤지만 어떤 의미가 있는지 찾을 수 없습니다. This one은 가장 비슷하지만 함수에서 반환 값을 얻는 방법을 보여주지 않습니다.Mybatis를 사용하는 Oracle 함수의 반환 값
public Long callMyFunction(@Param("recordId") Long recordId, @Param("otherId") Long otherId, @Param("date") Date date, @Param("comments") String comments);
가 여기 매퍼 XML의 :
여기 내 매퍼 전화의
<select id="callMyFunction" parameterType="map" statementType="CALLABLE" resultType="java.lang.Long">
{ #{resultId,javaType=java.lang.Long,jdbcType=NUMERIC,mode=OUT} = call MYSCHEMA.MYPACKAGE.my_function(
#{recordId,jdbcType=NUMERIC,mode=IN},
#{otherId,jdbcType=NUMERIC,mode=IN},
#{date,jdbcType=DATE,mode=IN},
#{comments,jdbcType=VARCHAR,mode=IN})}
</select>
호출 작동하지만 반환 값 (resultId)는 항상 null입니다.
아무도 문제를 발견 할 수 있습니까?
long (객체 래퍼) 대신 javaType = long (기본 유형)으로 시도해 보셨습니까? –