Как передать Arraylist объектов в процедуру с помощью весеннего mybatis - PullRequest
0 голосов
/ 29 августа 2011

Я хочу передать Arraylist объектов, например,

Arraylist <SomeObject> listOFSomeObject

Где SomeObject имеет два атрибута ключ и значение .

На стороне БД у меня есть переменная типа таблицы, т.е.

create or replace type tableTypeVariable is table of SomeType;

CREATE OR REPLACE TYPE SomeTypeAS OBJECT
(key VARCHAR2(50),value VARCHAR2(50))

Теперь я хочу сопоставить каждый мой объект типа SomeObject из listOFSomeObject с tableTypeVariable .

Может ли какое-нибудь тело помочь мне с этим?

Ответы [ 2 ]

0 голосов
/ 31 августа 2011

Преобразуйте ваш ArrayList в Array, используя toArray (), и передайте его, как описано здесь, Как записать массивы в базу данных Oracle 10g XE с использованием iBatis?

0 голосов
/ 29 августа 2011

Обратите внимание, что это частичный ответ, он не имеет никакого отношения к mybatis. Вполне возможно, что mybatis не будет поддерживать это, и вам придется вернуться к простой JDBC. В этом случае этот ответ может быть полезен для вас.

Насколько я помню, вы не можете сделать это с простым JDBC, вам нужно будет использовать драйвер Oracle. Для пользовательского типа обратитесь к этому: http://download.oracle.com/docs/cd/B13789_01/java.101/b10979/oraoot.htm#g1104293

Для передачи коллекций, обратитесь к этому: http://asktom.oracle.com/pls/asktom/f?p=100:11:3714089787721267::::P11_QUESTION_ID:712625135727

...