find 方法是在 ejb-jar.xml里写的,
<query>
            <query-method>
              <method-name>findAllBySender</method-name>
              <method-params>
              <method-param>java.lang.String
              </method-param>
              </method-params>
            </query-method>
              <ejb-ql><![CDATA[SELECT OBJECT(a) FROM MessageSend as a WHERE a.sender = ?1]]></ejb-ql>
          </query>

解决方案 »

  1.   

    谢谢sun-flow!
    我的ebj-jar.xml是这样的:
    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd"><ejb-jar >   <description><![CDATA[No Description.]]></description>
       <display-name>Generated by XDoclet</display-name>   <enterprise-beans>      <!-- Session Beans -->
         <!--
           To add session beans that you have deployment descriptor info for, add
           a file to your XDoclet merge directory called session-beans.xml that contains
           the <session></session> up for those beans.
         -->      <!-- Entity Beans -->
          <entity >
             <description><![CDATA[Description for Account]]></description>
             <display-name>Name for Account</display-name>         <ejb-name>Account</ejb-name>         <home>com.lw.account.interfaces.AccountHome</home>
             <remote>com.lw.account.interfaces.Account</remote>
             <ejb-class>com.lw.account.ejb.AccountBeanCMP</ejb-class>
             <persistence-type>Container</persistence-type>
             <prim-key-class>java.lang.String</prim-key-class>
             <reentrant>False</reentrant>
             <cmp-version>2.x</cmp-version>
             <abstract-schema-name>Account</abstract-schema-name>         <cmp-field>          <field-name>accountId</field-name>         </cmp-field>         <cmp-field>          <field-name>balance</field-name>         </cmp-field>         <cmp-field>          <field-name>accountType</field-name>         </cmp-field>         <primkey-field>accountId</primkey-field>
     <query>
                <query-method>
                   <method-name>findBigAccounts</method-name>               <method-params>
                   <method-param>java.lang.Double</method-param>               </method-params>
                </query-method>
                <ejb-ql><![CDATA[SELECT DISTINCT OBJECT(p)FROM Account p WHERE p.balance > ?1]]></ejb-ql>
             </query>
     <query>
                <query-method>
                   <method-name>findAccount</method-name>               <method-params>
                   <method-param>java.lang.Double</method-param>               </method-params>
                </query-method>
                <ejb-ql><![CDATA[SELECT DISTINCT OBJECT(p)FROM Account p WHERE p.balance = ?1]]></ejb-ql>
             </query>
     <query>
                <query-method>
                   <method-name>findNullAccounts</method-name>
                   <method-params>               </method-params>
                </query-method>
                <ejb-ql><![CDATA[SELECT DISTINCT OBJECT(p)FROM Account p WHERE p.accountType is null]]></ejb-ql>
             </query>
        <!-- Write a file named ejb-finders-Account.xml if you want to define extra finders. -->      </entity>     <!--
           To add entity beans that you have deployment descriptor info for, add
           a file to your XDoclet merge directory called entity-beans.xml that contains
           the <entity></entity> up for those beans.
         -->      <!-- Message Driven Beans -->
         <!--
           To add message driven beans that you have deployment descriptor info for, add
           a file to your XDoclet merge directory called message-driven-beans.xml that contains
           the <message-driven></message-driven> up for those beans.
         -->   </enterprise-beans>   <!-- Relationships -->   <!-- Assembly Descriptor -->
         <!--
           To specify your own assembly descriptor info here, add a file to your
           XDoclet merge directory called assembly-descriptor.xml that contains
           the <assembly-descriptor></assembly-descriptor> up.
         -->   <assembly-descriptor >
         <!--
           To specify additional security-role elements, add a file in the merge
           directory called ejb-security-roles.xml that contains them.
         -->   <!-- method permissions -->
         <!--
           To specify additional method-permission elements, add a file in the merge
           directory called ejb-method-permissions.ent that contains them.
         -->   <!-- transactions -->
         <!--
           To specify additional container-transaction elements, add a file in the merge
           directory called ejb-container-transactions.ent that contains them.
         -->   <!-- finder transactions -->   <!-- message destinations -->
         <!--
           To specify additional message-destination elements, add a file in the merge
           directory called ejb-message-destinations.ent that contains them.
         -->   <!-- exclude list -->
         <!--
           To specify an exclude-list element, add a file in the merge directory
           called ejb-exclude-list.xml that contains it.
         -->
       </assembly-descriptor></ejb-jar>为什么在发布的时候,老是说XML验证出错