JDBC里面有个Array接口,而Oracle支持这个接口,也就是说可以可以定义一个array类型的数据,然后让数据库里面的表的某个字段用这个数据类型,PL/SQL里面也有table这个类型,我想问的是他这个类型到底是想程序里面自己定义一个类型,还是他建一张表,用这张表来存这个数据类型装的数据

解决方案 »

  1.   

    楼主说的和我们公司的平台的数据库用法很相似 极度怀疑我们是不是一个公司的 (O(∩_∩)O)在一个类中定义用ArrayList把需要与数据库交互的数据封装起来 在数据库CRUD的时候 可以接受刚刚被封装起来的数据 这里只是接受 不是楼主所说的用这张表来存这个数据类型装的数据
      

  2.   

    我是想说比如:
    应用层面:我有这个一个实体对象,
    class Account{
       int id;
       String name;
       String[] favorite;
    }
    现在我想将这个对象存入数据库,而我有一个数组类型的属性(favorite),我需要用JDBC接口里面提供的Array接口来对我这个String类型的数组进行封装.最后将这个对象存入数据库
    数据库层面:
       有这么一个表,
    create table account(id number,name varchar2(16),favorite 数组类型);
    (我不确定有没有这么一个类型,但是PL/SQL可以通过TYPE account IS TABLE OF account%rowtype INDEX BY BINARY_INTEGER;来定义一个数组类型,并且我用过Array这个接口写过这样的代码,
    Array array = rs.getArray(1)
    String[] values = (String[])array.getArray();
    所以我基本能确定在数据库可以自己定义个类型(数组类型),然后建表的时候用这个类型);我现在想问的是Oracle里面这个数组类型,是他本身就支持这样的数据结构来保存这样的数组数据,还是用一张表来保存你存入的这个数组类型的数据?求解