当前位置: 技术问答>java相关
我想在EJB的HOME中添加一个自己的方法,这可以实现吗?
来源: 互联网 发布时间:2015-03-15
本文导语: EJB的HOME 有create() findbyPrimarykey findall方法,我如何才能添加一个自己的方法呢? | 如果理解了entity bean的life cycle,就能明白为什么会在home接口中定义business method: not exist状态 调用newInst...
EJB的HOME 有create() findbyPrimarykey findall方法,我如何才能添加一个自己的方法呢?
|
如果理解了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,可以减少系统开销
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,可以减少系统开销