说起来话长了,简单一点吧
ejbCreate()ejbLoad()ejbStore()ejbRemove()ejbFindByPrimaryKey()ejbFindAAA()这些方法都必须使用包含有相应的数据库操作代码来实现,它们在你调用remote或local接口的对应方法时调用
ejbLoad()ejbStore()ejbRemove()也必须使用包含有相应的数据库操作代码来实现,它们由EJB包容器调用,在bmp池化和就绪状态间转换时被调用
unsetEntityContext()setEntityContext()ejbActivate()ejbPassivate()无需实现,它们由EJB包容器调用,当然你也可以在方法里加入你需要的处理代码

解决方案 »

  1.   

    不好意思,说错一点,第一类那些方法是在你调用home接口的对应方法时被调用,而ejbRemove()方法应该归为第一类,而不是第二类
      

  2.   

    如果没有定义主键,则必须自己写一个主键类
    ejbFindByXXX的返回值可以是bean instance或者bean collection
      

  3.   

    主键类内可以和JavaBeans一样进行复合条件查询吗?bean  collection 可以同时存放比如雇员ID,姓名,职务之类的信息吗?俺今天作了一个查询,虽然是返回bean  collection ,但是只保存有主键雇员ID,然后根据雇员ID,得到其他信息。这样可以吗?如果是复合Key,由该如何处理呢?俺刚学EJB,请指教!
      

  4.   

    既然是bmp,SQL语句当然是随你写啦,一般来说ejbFindByPrimaryKey()返回的是主键值,但是包容器会帮你load别的键值进来,所以你仍然可以用接口提供的getXXX()的方法get到你想要的其它键值。复合Key你可以建一个XXXPK的专门类作为主键类。
      

  5.   

    谢谢你的指教,你可以给我提供一个例子吗?如果可以的话,请发到[email protected]俺online等你
      

  6.   

    sorry,我手头没有完整的源码,你可以在网上找MasteringEJB2.0的源码,再自己动手实践一下