Jeg fandt endelig (med lidt hjælp fra andre) svaret på dette. Den kom i tre dele:
Den første var, at jeg skulle bruge et:
OracleCallableStatement stmt = (OracleCallableStatement) conn.prepareCall(query);
snarere end det simple JDBC CallableStatement, jeg havde prøvet at bruge.
Den anden del var, at jeg skulle registrere min "ud" parameter som følger:
stmt.registerOutParameter(2, OracleTypes.STRUCT, "DATA_SUMMARY_TAB");
Den tredje del, og den er implicit i del 2 ovenfor, var, at "DATA_SUMMARY_TAB" skulle stå med STORE BOGSTAVER. Hvis du sætter det med små bogstaver, får du en kryptisk fejlmeddelelse som følger:
java.sql.SQLException: invalid name pattern: MYTEST.data_summary_tab
at oracle.jdbc.oracore.OracleTypeADT.initMetadata(OracleTypeADT.java:553)at oracle.jdbc.oracore.OracleTypeADT.init(OracleTypeADT.java:469)at oracle.sql.StructDescriptor.StrinitPickler(.StrucvaPickor) oracle.sql.StructDescriptor.(StructDescriptor.java:320)
Det var det.
Bemærk også, at vores tilpassede objekttype ikke var i nogen pakker. Hvis det er det, skal du muligvis hacke den tredje parameter lidt.