返回vector或map之类的东西不是更好,返回结果集会有问题的。首先结果集没有实现序列化,其次resultset在executeQuery中被创建,而关闭觉在别的实例中岂不是很不顺。

解决方案 »

  1.   

    在ejb里返回的对象应该是可序列化的,即该对象应该实现java.io.seriazable接口。
    你试一下把返回的对象改成其它的,楼上的兄弟所说的就是一种方法。
      

  2.   

    给你写个详细的:
    假设一个表table1由user, password两个字段组成
    先写一个类实现seriazable接口
    class Table1 implements java.io.seriazable
    {
        private String user;
        private String password;
        public setUser(String user)
        {
            this.user = user;
        }
        //类似的一堆get, set 方法
    }
    在你检索数据的bean中这样写
    ArrayList list = new ArrayList();//用vector之类的都可以
    ResultSet rs;
    .......
    while(rs.next())
    {
        Table1 table1 = new Table1();
        table1.setUser(rs.getString(1));
        table1.setPassword(rs.getString(2));
        list.add(table1);
    }
    .......
    return list;
    返回后可以这样用:
    Collection list = 你刚刚写的方法返回的collection
    Iterator it = list.Iterator();
    while(it.hasNext())
    {
        Table1 table1 = (Table1)it.next();
        得到table1后可以用get方法取出数据了
    }随手写的,错误之处难免,请指正, 我经常用这个方法
    good luck