Java中的结构和数组错误

Java中的结构和数组错误,java,arrays,oracle,struct,Java,Arrays,Oracle,Struct,获取处理对象列表的结构和数组时出错 java.lang.ClassCastException: oracle.sql.StructDescriptor cannot be cast to oracle.sql.ArrayDescriptor 代码如下: List<Commission> commissions = (List<Commission>) parameter; Struct[] structs = new Struct[commissiones.size(

获取处理对象列表的结构和数组时出错

java.lang.ClassCastException: oracle.sql.StructDescriptor cannot be cast to oracle.sql.ArrayDescriptor
代码如下:

List<Commission> commissions = (List<Commission>) parameter;

Struct[] structs = new Struct[commissiones.size()];
for (int index = 0; index < comisions.size(); index++) {
    Object[] params = new Object[9];

    Commission commission = commissions.get(index);

    /* Setting parameters */

    Struct struct = ps.getConnection().createStruct("T_COMMISSION", params);
    structs[index] = struct;
}

Array array = ((OracleConnection)ps.getConnection()).createOracleArray("C_COMMISSION", structs);

ps.setArray(i, array);  

引发异常的行是什么?
Struct Struct=ps.getConnection().createStruct(“T_COMMISSION”,params);structs[index]=struct
如果您能提供T_佣金的定义,这将有所帮助。它是ADT、数组还是其他类型的PLSQL集合?问题已编辑
CREATE OR REPLACE TYPE GESFIN.T_COMMISSION AS OBJECT (COM_MZN VARCHAR2(3),
                                                      COM_PVP VARCHAR2(8),
                                                      -- ..More params)
/

CREATE TYPE C_COMMISSION AS TABLE OF T_COMMISSION
/