[英]How to pass java list of objects to oracle stored procedure (Cannot use Spring)
我有一個要傳遞給Oracle存儲過程的POJO列表,然后在存儲的proc中遍歷該列表並運行update語句
我嘗試使用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傳遞給我的存儲過程
與其他連接包裝程序(不是jboss)一起使用,我不得不拆開連接以獲取基礎的OracleConnection
:
Connection connection = getConnection();
if ( !connection.isWrapperFor( OracleConnection.class ) )
{
// throw exception
}
OracleConnection oConnection = (OracleConnection) connection.unwrap( OracleConnection.class );
WrappedConnection wrapped = (WrappedConnection) getConnection();
OracleConnection oConnection = (OracleConnection) wrapped.getUnderlyingConnection();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.