不可能吧
你应该在remote接口里添加自己的逻辑方法

解决方案 »

  1.   

    可以,但必须是属于creat或find的方法。除此之外的方法应该在Remote中添加。
      

  2.   


    楼上说的对,home接口只负责EJB的生成和创建,所以只能加与生成或创建有关的方法,如create 或 finder。商业逻辑要在remote接口中声明。
      

  3.   

    为什么我用JB中只有这些方法,而其他很多的举例都有好多方法!
    例如:IAS411中BANK举例ACCOUNTHOME中就有:findAccountsLargerThan(float balance)
    用JB只创建FINDALL()方法,
    比如我要查一定范围的主键(如:Pk>10 and pk<100),就不能实现了?
    REMOTE接口是一个BEAN的的方法吗?再很多文章中都有:
    Finder 方法 :
      Finder 方法允许客户端查找 entity bean ,AccountClient 中有三种方法查找entity bean:
        Account jones = home.findByPrimaryKey("836");
        Collection c = home.findByLastName("Smith");
        Collection c = home.findInRange(20.00,99.00);
    他们这些是如何实现的呢?
    望高手门指点!!!
      

  4.   


    remote接口方法也是bean中的方法。当然可以写 findSomeRange类的方法。如果jb不只持向导生成,你可以直接写在home接口中。实现方现就是SQL语句而已,返回一个collection类型的结果值即可与书上的例子一样。
      

  5.   

    看了几天的csdn,实在不敢恭维,建议各位在回答别人问题前,首先确信自己知道,
    别误人误已home方法中可以自定义方法比如addMoney,Bean中对应的方法名为ejbHomeAddMoney
    这是ejb 2.0加入的home method,同remote接口中定义的business method的区别是,
    remote接口中的方法只用于特定的一个bean,具体的说就是数据库的单条记录,而home
    method可以对多个bean操作,从life cycle角度看,home method和find method一样
    是在池态(pool stage)时被调用,而remote 接口中的business method是在ready stage
    被调用。
      

  6.   

    to hitaco()
    可以详细一点吗?谢谢!
      

  7.   

    如果理解了entity bean的life cycle,就能明白为什么会在home接口中定义business method:not exist状态  调用newInstance(),setEntityContext-->池态
    池态(Pool state) 调用ejbCreate或ejbActivate--->Ready State(在这里可以调用remote接口中的business method)通常的business logic只能操作单个bean,先通过find或create方法将bean 从池态转入
    ready state,但有些业务逻辑不是单单操作一个bean,比如为年龄>30的人长工资,如果
    不使用home方法,处理方式将是先通过find方法找到所有bean(将创建n个remote object),然后再调用每个bean remote接口中的business method,但没必要,使用home方法将会调用pool state中的bean来完成业务逻辑(和find方法相同),由于不用创建一堆的remote object,可以减少系统开销