0

我的代码已经使用存储过程将字符串数据存储在 SQL 表中:

// my DAO
public class SomeProcedure extends StoredProcedure {
    public void process (String data) {
        Map<String, Object> map = new HashMap<String, Object>();
        hm.put("customData", data);
        Map<?,?> result = super.execute(hm);
    }
}

// My pks
procedure storeData (
    data_p in someTable.data%type,
    data_o out someTable.data%type,
)
as
begin
    insert into someTable
...
end storeData;

我需要修改它以包含一个对象列表。例如:

// my DAO
public class SomeProcedure extends StoredProcedure {
    public void process (String data, List<someObject> list) {
        Map<String, Object> map = new HashMap<String, Object>();
        hm.put("customData", data);
        hm.put("customList", list);
        Map<?,?> result = super.execute(hm);
    }
}

我不清楚如何支持存储过程中的对象列表。

有没有人有传递和解析对象列表以存储过程的经验?任何人都可以提供一些示例代码吗?

4

1 回答 1

1

我在我的应用程序中使用这样的调用(现在无法访问源),但它看起来像http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:712625135727

我记得的一个问题是战斗,是运行时的 SQL 异常,通过将 orai18n.jar 添加到 ojdbc14 旁边的类路径来解决(对于 oracle 10g 并传递字符串列表)

于 2011-08-09T20:57:33.700 回答