SQL: { call MYSCHEME.MYPACKAGE.STORE_PROCEDURE( ?, ?, ?, ?, ?, ?, ?, ? ) }
### Cause: java.sql.SQLException: patrón de nombre no válido: MYSCHEME.MY_TYPE
En el xml de mi Mapper tengo lo siguiente:
Código XML:
Ver original
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.test.do.mapper.MyMapper"> <select id="execProc" statementType="CALLABLE" parameterType="java.util.Map"> { call MYSCHEME.MYPACKAGE.STORE_PROCEDURE( #{code,mode=IN,jdbcType=VARCHAR,javaType=java.lang.String}, #{list1,mode=IN,jdbcType=ARRAY,javaType=oracle.sql.ARRAY,typeHandler=com.test.do.mapper.handler.List1Handler}, #{list2,mode=IN,jdbcType=ARRAY,javaType=oracle.sql.ARRAY,typeHandler=com.test.do.mapper.handler.List2Handler}, #{numberO,mode=IN,jdbcType=VARCHAR,javaType=java.lang.String}, #{idsys,mode=IN,jdbcType=VARCHAR,javaType=java.lang.String}, #{flag,mode=OUT,jdbcType=VARCHAR,javaType=java.lang.String}, #{errorList,mode=OUT,jdbcType=ARRAY,javaType=oracle.sql.ARRAY,jdbcTypeName=MYSCHEME.MY_TYPE,typeHandler=com.test.do.mapper.handler.ErrorListHandler}, #{stats,mode=OUT,jdbcType=VARCHAR,javaType=java.lang.String} ) } </select> </mapper>
Del lado de la base de datos tengo los tipos creados de la siguiente manera:
Código SQL:
Ver original
CREATE OR REPLACE TYPE MY_TYPE AS TABLE OF MY_SCHEME.ERROR_RESULT_LIST; CREATE OR REPLACE TYPE ERROR_RESULT_LIST AS OBJECT( error_number NUMBER , error_code VARCHAR2(100), process_message VARCHAR2(1000), CONSTRUCTOR FUNCTION ERROR_RESULT_LIST RETURN SELF AS RESULT );
Según yo está todo bien referenciado, ¿alguna idea de porque obtengo esta excepción?
De antemano gracias