补充问题:
    我看到书上说可以用 Handle handle=cab.getHandle();来获得一个Bean的句柄.
   可我在客户端这样用后,抱错说:Class Handle没有发现在客户端,
请问这里应该怎么做??Handle不是系统自己的么??
    谢谢

解决方案 »

  1.   

    这个问题简单,先用findByid方法找到对应的EJBObject,再调用remove()方法。
      

  2.   

    请问怎么找啊?自己写的findByid么??
    还有那个Handle呢?
      

  3.   

    你的id是主键吗?若是调用Home接口的findPrimaryKey()方法,不是只有自己编写相应的查找方法.
      

  4.   

    是啊,但我用
    MybookRemote mybookRemote=client.findByPrimaryKey(id);
    mybookRemoteHome.remove((Object)mybookRemote);
       
    但不行啊。抱错;
    java.rmi.RemoteException: EJB Exception:; nested exception is: 
    java.lang.ClassCastException: autosql.MybookBean_wob423_EOImpl
    java.lang.ClassCastException: autosql.MybookBean_wob423_EOImpl
    <<no stack trace available>>
    为什么呢?
      

  5.   

    我在会话Bean中调用实体Bean,用此方法可以删除。
    不过实体Bean中就这样remove:
    LogTestClient1 client = new LogTestClient1();
        client.create("a");
        LogRemote log=client.findByPrimaryKey("a");
        try {
          log.remove();
        } catch(javax.ejb.RemoveException e) { }
          catch(java.rmi.RemoteException ei) { }
    好象实体Bean中做这样的删除意义不大。