【发布时间】:2019-12-03 03:11:25
【问题描述】:
我有一个 POJO 列表,我想将其传递给 Oracle 存储过程,然后在存储过程中循环遍历该列表并运行更新语句
我尝试使用 StructDescriptor,但由于我的连接对象,我不断收到异常
(java.lang.ClassCastException: org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6 cannot be cast to oracle.jdbc.OracleConnection)
public void MyMethod(List<myObject> myObjectList) {
private Connection con = null;
private CallableStatement stmt = null;
try {
con = getConnection();
String query = "{call "+getStoredProcedureName()+"(?)}";
stmt.setArray(1, myObjectList);
stmt = con.prepareCall(query);
stmt.execute();
} catch(Exception e) {
throw e;
}
}
在甲骨文中
create or replace TYPE "MY_REC" AS OBJECT
(
field_one varchar2(50),
field_two varchar2(100)
);
create or replace TYPE "MY_REC_T" AS TABLE OF MY_REC;
我希望将 myObjectList 传递给我的存储过程
【问题讨论】:
-
你能告诉我们
getConnection是做什么的吗?我找不到通过 JBoss 连接将 Java 对象数组传递给 Oracle 存储过程的地址的答案。看来您将不得不使用与oracle.jdbc.OracleConnection兼容的东西。