import java.util.Collection;import javax.ejb.CreateException;
import javax.ejb.EJBLocalHome;
import javax.ejb.FinderException;public interface CategoryLocalHome extends EJBLocalHome {
    CategoryLocal create(Integer id) throws CreateException;    CategoryLocal findByPrimaryKey(Integer primaryKey) throws FinderException;    Collection findAll() throws FinderException;
}    <entity>
      <description>Entity Bean ( CMP )</description>
      <display-name>Category</display-name>
      <ejb-name>Category</ejb-name>
      <local-home>part2.CategoryLocalHome</local-home>
      <local>part2.CategoryLocal</local>
      <ejb-class>part2.CategoryBean</ejb-class>
      <persistence-type>Container</persistence-type>
      <prim-key-class>java.lang.Integer</prim-key-class>
      <reentrant>false</reentrant>
      <cmp-version>2.x</cmp-version>
      <abstract-schema-name>Category</abstract-schema-name>
      <cmp-field>
        <field-name>id</field-name>
      </cmp-field>
      <cmp-field>
        <field-name>name</field-name>
      </cmp-field>
      <cmp-field>
        <field-name>description</field-name>
      </cmp-field>
      <primkey-field>id</primkey-field>
      <query>
        <query-method>
          <method-name>findAll</method-name>
          <method-params/>
        </query-method>
        <ejb-ql>select object(o) from Category o</ejb-ql>
      </query>
    </entity>一个小例子, 我以前写的东西。
你把要写的find method在ejb home里面定义好, 然后在在你的ejb-jar.xml里写出来就行了。注意,find method只以返回你的entity bean,或collection of 你的entity bean。 findByPrimaryKey 这个是不用定义的。

解决方案 »

  1.   

     谢谢了!ejb 过时了吗???
      

  2.   

    ejb2.0 是有些过时了,不过现有很多大型项目还是ejb2.0。 ejb3.0也出来一段时间了,方便多了,如果是想学的话还是学这个吧。 个人觉得ejb3.0用起来本身不像有些人说的那么麻烦,主要是管理你的application server比一个web container烦。
      

  3.   

    ejb3.o出来也挺久了,不过好多老的项目还是用ejb2.0的,二次开发,为了维持老的那系统,还是得用2.0