ejb-ql里面应该是where a.name = ?1

解决方案 »

  1.   

    <query>
                <query-method>
                   <method-name>findCheapProduction</method-name>
                   <method-params>
                     <method-param>java.lang.String</method-param>
                   </method-params>
                </query-method>
                <ejb-ql><![CDATA[SELECT OBJECT(a) FROM mySchema as a WHERE NAME=?1]]></ejb-ql>
             </query>
      

  2.   

    你少了一个元素<method-param>
      

  3.   

    写成a.name = ?1
    还是不行
      

  4.   

    我不知道你name在EJB中定义为什么域,必须与你的get,set方法中的一样,如果你是设置为虚方法getName(),setName(String name)WHERE NAME=?1应该是where a.name=?1
      

  5.   

    他是这样的,虚方法名去掉get或set后把首字母小写得到的就是你的EJB的field名,与数据库的字段名字无关