有的方法不能放在remote或local接口中啊,比如,统计所有记录条数或者取得所有帐户的余额总数。

解决方案 »

  1.   

    我们的习惯是在home接口定义一些与操作数据库有关的方法,并且所定义的方法要么返回远程接口的名称,要么返回Collection类型。而在远程接口则是定义事务方法。这些事务仅仅是实现事务的处理,与数据库的操作没任何关系!
      

  2.   

    他说的是专门的Home方法,在bean类中已ejbHome打头的方法。
      

  3.   

    一个Home方法包含了对特定bean类的所有实例商务逻辑的实现(通俗一点就是为同一种类bean的所有实例实现商务逻辑)。而商务方法只针对一个单独的实例完成商务逻辑。Home方法通常请求一个Collection对象,然后遍历其中的每一个,为其调用商务方法。例如public void ejbHomeAddSomeMoney(float amount)throws RemoteException{   
      
      

  4.   

    接上例public void ejbHomeAddSomeMoney(float amount){
      try{
       AccountHome accountHome=(AccountHome)context.getEJBHome();
       Collection accounts=accountHome.findAll();
       Iterator it=accounts.iterator();
       while(it.hasNext()){
         Account account=(Account)it.next();
         account.deposit(amount);
       }
      }
      catch(Exception e){
        System.err.println(e.toString());
      }}
    该Home方法对银行的每个帐户都加上amount元的存款。哎!没有哪个银行有这么好...^_^