不可能吧
你应该在remote接口里添加自己的逻辑方法
你应该在remote接口里添加自己的逻辑方法
解决方案 »
- 大家都用什么报表软件?
- 求一个下拉菜单中带有类似Tree分层功能的JComboBox 例子
- struts配置
- 与spring同类型,与struts同类型的框架?
- ajax的属性和方法
- 如何能做到 JAVA开发 安全 性能优化 ?
- 我的myeclipse的struts惊叹号问题
- 刚开始学习j2ee,该怎样理解数据源
- 初次学习ejb,程序有点问题,想问一下!
- 使用dubbo 写了一个测试例子 报错,求指导 org.springframework.beans.factory.BeanCreationException:
- 我参照书写了几个EJB文件,编译不了,为什么?
- 调查一下:大家在用什么工具开发Ejb?开发多久了?目前待遇多少?
楼上说的对,home接口只负责EJB的生成和创建,所以只能加与生成或创建有关的方法,如create 或 finder。商业逻辑要在remote接口中声明。
例如: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);
他们这些是如何实现的呢?
望高手门指点!!!
remote接口方法也是bean中的方法。当然可以写 findSomeRange类的方法。如果jb不只持向导生成,你可以直接写在home接口中。实现方现就是SQL语句而已,返回一个collection类型的结果值即可与书上的例子一样。
别误人误已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
被调用。
可以详细一点吗?谢谢!
池态(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,可以减少系统开销