Oracleでユーザータイプを作成しました
create or replace type my_friend_list
is
table of
varchar2(100);
今、私はこのような出力パラメータを持つプロシージャを書きました:
PROCEDURE friends_diff_prc
(
my_name IN VARCHAR2,
friend_i IN my_friend_list ,
good_friend_o OUT my_friend_list ,
best_friend_o OUT my_friend_list ,
isSuccess OUT NUMBER
);
私はそれを実行しますSQLDeveloper
そしてそれは正しく実行されています。
そして、それは私の良い友達と親友の両方のリストを私に与えています。
しかし、私が拡張しているJAVAクラスを介してそれを呼び出しているときStoredProcedure
。
best_friend
リストは正しく来ていますが、good_friend
リストについては印刷しています
Ljava.lang.Object;@24342434,
Ljava.lang.Object;@243a243a,
Ljava.lang.Object;@24402440,
Ljava.lang.Object;@24462446
この出力配列リストをフェッチするための私のJavaコードは次のようになります。
List<String> goodfriends = Arrays.asList((String[]) results.get("good_friend_o");
List<String> bestfriends = Arrays.asList((String[]) results.get("best_friend_o");
good_friendsに正しい結果が得られないのはなぜですか?
前もって感謝します。