JDBC调用以数组为参数的存储过程

我正在尝试使用java代码调用以下过程但我得到了几个错误(基本上是为了类型转换)我的事情我搞砸了某处可以有人看看它。

这是我第一次这样做。

一点帮助会很棒。

PROC:

DECLARE car__details_tab car__details_tab_type := NEW car__details_tab_type(); car_id number_tab_type; car_error_tab car__error_tab_type := new car__error_tab_type(); car_purchase_id NUMBER; BEGIN car__details_tab.extend; car__details_tab(car__details_tab.count) := car__details_type(null, null ,null ,null ,null ); car__details_tab(car__details_tab.COUNT).model_id := AW0; car__details_tab(car__details_tab.COUNT).brand := 'LAM'; car__details_tab(car__details_tab.COUNT).version := 1; car__details_tab(car__details_tab.COUNT).type := 'Sedan'; pckg.ins_trade_details(car__details_tab => car__details_tab ,car_purchase_id => 101 ,user => 'Test' ,car_id_tab => car_id ,car_error_tab => car_error_tab); DBMS_OUTPUT.PUT_LINE(car_purchase_id); IF car_error_tab.EXISTS(1) THEN FOR i IN 1 .. car_error_tab.COUNT LOOP dbms_output.put_line(car_error_tab(i).model_id); dbms_output.put_line(car_error_tab(i).version); dbms_output.put_line(car_error_tab(i).version); dbms_output.put_line(car_error_tab(i).error_text); END LOOP; END IF; 

Java代码

 public void save(String DataSource,int Id,String username,String[] car__details_tab_type) throws SQLException{ Connection con = getConnection(DataSource); CallableStatement cs= con.prepareCall({call pckg.save_details(?,?,?,?,?)}); Object[] project1 = new Object[]{AWO,"LAM,1,"SEDAN"}; Object[] project2 = new Object[]{AWO,"LAM,1,"SEDAN"}; StructDescriptor projectTypeDesc = StructDescriptor.createDescriptor("CAR__DETAILS_TAB_TYPE", con); STRUCT structProject1 = new STRUCT(projectTypeDesc, con, project1);//THIS IS WHERE I GET THE ERROR STRUCT structProject2 = new STRUCT(projectTypeDesc, con, project2); STRUCT[] structArrayOfProjects = {structProject1,structProject2}; ArrayDescriptor projectTypeArrayDesc = ArrayDescriptor.createDescriptor("CAR__DETAILS_TAB_TYPE", con); ARRAY arrayOfProjects = new ARRAY(projectTypeArrayDesc, con, structArrayOfProjects); cs.setArray(1, details); cs.setInt(2, Id); cs.setString(3, username); cs.registerOutParameter(4, java.sql.Types.ARRAY); cs.registerOutParameter(5, java.sql.Types.ARRAY); cs.execute(); } 

错误

java.sql.SQLException:java和sql对象类型不一致