H2:getArray只返回一个元素

时间:2015-07-14 10:57:53

标签: java sql arrays jdbc h2

我有下表:

CREATE TABLE "mytable" (
... 
  "columns" ARRAY NOT NULL,
...
);

我通过H2 web控制台手动在数组中插入元素:

INSERT INTO "mytable"(..."columns"...) VALUES
(...,'{''col1:uuid'',''col2:id'',''col3:firstName'',''col4:middleName'',''col5:lastName''}',...);

现在我尝试从java

获取元素数组
Object[] colArray=(Object[]) rs.getArray("columns").getArray();
System.out.println("Test:"+colArray.length);//returns 1. all columns are in one string.

我的错误是什么?

1 个答案:

答案 0 :(得分:1)

要插入ARRAY类型的列,请使用以下语法:

INSERT INTO
              "mytable"("columns")
       VALUES
       ( 
           (
               'col1:uuid',
               'col2:id',
               'col3:firstName',
               'col4:middleName',
               'col5:lastName'
           )
       );

使用

检查您的数据
SELECT ARRAY_LENGTH("columns") FROM "mytable"