使用对象类型调用PL / SQL过程和字符串表示形式的问题

时间:2016-03-08 08:57:36

标签: java database spring oracle jdbc

我跟着一个documentation关于如何在JDBC和Spring中使用高级数据类型,创建了一个对象类型:

create or replace TYPE actor_type
AS OBJECT (id NUMBER(10), name VARCHAR2(50), age NUMBER);

创建了一个向DOM添加新行的简单过程:

create or replace PROCEDURE add_actor (in_actor IN actor_type)
AS
BEGIN
  INSERT into actor (id, name, age) VALUES(in_actor.id, in_actor.name, in_actor.age);
END;

当我从Java调用一个过程来插入新行时,如文档中所述,name列设置为" null"在DB中。

但是,当我在演员类型中将名称dana类型更改为NVARCHAR时,如下所示:

create or replace TYPE actor_type
    AS OBJECT (id NUMBER(10), name NVARCHAR2(50), age NUMBER);

当我在Java中执行相同的代码以插入新行时,数据会正确插入,而name列将设置为Java中指定的值。

我使用的是Oracle 10g数据库。

什么可能导致这个问题,以及如何避免id?

0 个答案:

没有答案