我在 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 提供正确的结果?
提前致谢。