和这个没有关系。这是一个没有参数的finder。
isdefault = 1 的业务说明是缺省账号。

解决方案 »

  1.   

    SELECT OBJECT(a)  FROM Signon s, IN (s.account) a
                   WHERE a.isdefault = ?1   注意“等号”前后要加空格
      

  2.   

    EJB-QL写的没有问题。应该是配置方面的问题。
      

  3.   

    <relationships>
            <ejb-relation>
                <ejb-relation-name>signon-account</ejb-relation-name>
                <ejb-relationship-role>
                    <description>signon</description>
                    <ejb-relationship-role-name>SignonRelationshipRole</ejb-relationship-role-name>
                    <multiplicity>One</multiplicity>
                    <relationship-role-source>
                        <description>signon</description>
                        <ejb-name>Signon</ejb-name>
                    </relationship-role-source>
                    <cmr-field>
                        <description>account</description>
                        <cmr-field-name>account</cmr-field-name>
                        <cmr-field-type>java.util.Collection</cmr-field-type>
                    </cmr-field>
                </ejb-relationship-role>
                <ejb-relationship-role>
                    <description>account</description>
                    <ejb-relationship-role-name>AccountRelationshipRole</ejb-relationship-role-name>
                    <multiplicity>Many</multiplicity>
                    <relationship-role-source>
                        <description>account</description>
                        <ejb-name>Account</ejb-name>
                    </relationship-role-source>
                    <cmr-field>
                        <description>signon</description>
                        <cmr-field-name>signon</cmr-field-name>
                    </cmr-field>
                </ejb-relationship-role>
            </ejb-relation>
        </relationships>
      

  4.   

    我需要的是在一个Signon的finder里面返回一个Account。这样应该可以实现吧?
      

  5.   

    IN 查询,在一个组中的所有用户 第 3 页(共5 页) 
    我们来假设您想要查找一个组中的所有用户。如果您正在考虑用 SQL 方法来完成这个工作,您可能正在考虑一个相互关联的子查询,或者可能正在使用 join 关键字把 User 表和 Group 表连接起来。您应该停止考虑用 SQL 了;考虑用 EJB-QL 吧。 还记得您在上一篇教程中建立的所有那些关系吗?它们每个都有一个相应的 CMR 字段。如果您回忆一下,就会记起 Group bean 有一个叫 users 的 CMR 字段。因为一个组有多个用户,所以这个关系字段是一个集合。 EJB-QL 在 FROM 子句中添加了指定 CMR 集合的特别支持:IN 关键字。您可以在 FROM 子句中指定一个 CMR 集合。这样,为了查找各个组中的所有用户,您要使用 FROM 子句中的 IN 关键字和 Group bean 的 CMR 字段 users 集合,如下所示:
             SELECT DISTINCT OBJECT(user) 
             FROM UserGroup g, IN (g.users) user
     上面的代码允许您选择在一组中的所有代码。请注意,这个示例使用 FROM 子句中的 IN 关键字。在下一页上,您将使用 WHERE 子句中的 IN 关键字。 还要注意使用了 DISTINCT 关键字;该关键字的使用方式和它在 SQL 中的使用方式一样 — 换言之,不会返回重复的实体。 
      

  6.   

    你把属性里的EJBC去掉能问一下是参照什么???感觉象授权,我正在看这东西,麻烦给个连接或资料,谢谢QQ:36983608
      

  7.   

    http://www-900.ibm.com/developerWorks/cn/cnedu.nsf/xml-onlinecourse-bytitlemsn: [email protected]