Wrox Home  
Search P2P Archive for: Go

  Return to Index  

enterprise_java_beans thread: how do I use orderby in weblogic 6.1?


Message #1 by "Ronak Parekh" <rons4174@h...> on Mon, 21 Oct 2002 18:54:23
I am trying to use the orderby function in weblogic and the method in 
which I have implemented I have shown in ejb-jar.xml and
weblogic-cmp-rdbms-jar.xml file shown below. Please do let me know if have
implemented it in the right way.

Thank you
Ronak Parekh

I am getthing the error:

Unable to deploy EJB: sempire_bc.jar from sempire_bc.jar:

        Error while reading 'META-INF/weblogic-cmp-rdbms-jar.xml'. The 
error
was:

        The finder method findAllOrderByRoleName of ejb RolesEJB cannot 
have
a null ejb ql value.
        The finder method findAllOrderByUserName of ejb UsersEJB cannot 
have
a null ejb ql value.

This is my weblogic-cmp-rdbms-jar.xml file:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE weblogic-rdbms-jar PUBLIC
 '-//BEA Systems, Inc.//DTD WebLogic 6.0.0 EJB RDBMS Persistence//EN'

'http://www.bea.com/servers/wls600/dtd/weblogic-rdbms20-persistence-
600.dtd'
>

<weblogic-rdbms-jar>
 <weblogic-rdbms-bean>
  <ejb-name>UsersEJB</ejb-name>
  <data-source-name>UsersDB</data-source-name>
  <table-name>USERS</table-name>
  <field-map>
          <cmp-field>iD</cmp-field>
          <dbms-column>ID</dbms-column>
        </field-map>
        <field-map>
          <cmp-field>userName</cmp-field>
   <dbms-column>USER_NAME</dbms-column>
        </field-map>
  <field-map>
   <cmp-field>userPass</cmp-field>
   <dbms-column>USER_PASS</dbms-column>
  </field-map>
  <weblogic-query>
         <query-method>
    <method-name>findAllOrderByUserName</method-name>
           <method-params>
              <method-param>double</method-param>
           </method-params>
         </query-method>
         <weblogic-ql>SELECT OBJECT(o) FROM o for UsersBean ORDERBY
o.userName</weblogic-ql>
  </weblogic-query>
  <weblogic-query>
         <query-method>
    <method-name>findAllOrderByUserPass</method-name>
           <method-params>
              <method-param>double</method-param>
           </method-params>
         </query-method>
   <weblogic-ql>SELECT OBJECT(o) FROM o for UsersBean ORDERBY
o.userPass</weblogic-ql>
      </weblogic-query>
 </weblogic-rdbms-bean>

 <weblogic-rdbms-bean>
  <ejb-name>RolesEJB</ejb-name>
  <data-source-name>RolesDB</data-source-name>
  <table-name>ROLES</table-name>
  <field-map>
          <cmp-field>iD</cmp-field>
          <dbms-column>ID</dbms-column>
        </field-map>
        <field-map>
          <cmp-field>roleName</cmp-field>
   <dbms-column>ROLE_NAME</dbms-column>
        </field-map>
  <field-map>
   <cmp-field>roleDesc</cmp-field>
   <dbms-column>ROLE_DESC</dbms-column>
  </field-map>
  <weblogic-query>
         <query-method>
    <method-name>findAllOrderByRoleName</method-name>
           <method-params>
              <method-param>double</method-param>
           </method-params>
         </query-method>
   <weblogic-ql>SELECT OBJECT(o) FROM o for RolesBean ORDERBY
o.roleName</weblogic-ql>
  </weblogic-query>
  <weblogic-query>
         <query-method>
    <method-name>findAllOrderByRoleDesc</method-name>
           <method-params>
              <method-param>double</method-param>
           </method-params>
         </query-method>
   <weblogic-ql>SELECT OBJECT(o) FROM o for RolesBean ORDERBY
o.roleDesc</weblogic-ql>
  </weblogic-query>
 </weblogic-rdbms-bean>

 <create-default-dbms-tables>True</create-default-dbms-tables>

</weblogic-rdbms-jar>

This is my ejb-jar.xml file:

<?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>
 <display-name>Business Component CMP 2.0</display-name>

     <enterprise-beans>
        <entity>
  <display-name>Users Entity Bean</display-name>
         <ejb-name>UsersEJB</ejb-name>


<local-home>com.sempire.builder.business_component.UsersHome</local-home>
             <local>com.sempire.builder.business_component.Users</local>

<ejb-class>com.sempire.builder.business_component.UsersBean</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>users</abstract-schema-name>

  <cmp-field><field-name>iD</field-name></cmp-field>
  <cmp-field><field-name>userName</field-name></cmp-field>
  <cmp-field><field-name>userPass</field-name></cmp-field>
  <primkey-field>iD</primkey-field>

  <ejb-local-ref>
   <ejb-ref-name>UsersEJB</ejb-ref-name>
   <ejb-ref-type>Entity</ejb-ref-type>
   <local-home>com.sempire.builder.business_component.UsersHome</local-
home>
   <local>com.sempire.builder.business_component.Users</local>
  </ejb-local-ref>

  <resource-ref>
          <res-ref-name>jdbc/UsersDB</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
        </resource-ref>

  <query>
   <query-method>
    <method-name>findAllWithConstraint</method-name>
    <method-params />
   </query-method>
   <ejb-ql><![CDATA[SELECT OBJECT(o) FROM users AS o]]></ejb-ql>
  </query>
   <query>
                 <query-method>
                      <method-name>findAllOrderByUserName</method-name>
    <method-params />
                 </query-method>
   <ejb-ql></ejb-ql>
             </query>
             <query>
                 <query-method>
                      <method-name>findAllOrderByUserPass</method-name>
    <method-params />
                 </query-method>
                 <ejb-ql></ejb-ql>
             </query>
 </entity>

        <entity>
         <display-name>Roles Entity Bean</display-name>
             <ejb-name>RolesEJB</ejb-name>


<local-home>com.sempire.builder.business_component.RolesHome</local-home>
             <local>com.sempire.builder.business_component.Roles</local>

<ejb-class>com.sempire.builder.business_component.RolesBean</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>roles</abstract-schema-name>

  <cmp-field><field-name>iD</field-name></cmp-field>
  <cmp-field><field-name>roleName</field-name></cmp-field>
  <cmp-field><field-name>roleDesc</field-name></cmp-field>
  <primkey-field>iD</primkey-field>

  <ejb-local-ref>
   <ejb-ref-name>RolesEJB</ejb-ref-name>
   <ejb-ref-type>Entity</ejb-ref-type>
   <local-home>com.sempire.builder.business_component.RolesHome</local-
home>
   <local>com.sempire.builder.business_component.Roles</local>
  </ejb-local-ref>

  <resource-ref>
          <res-ref-name>jdbc/RolesDB</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
        </resource-ref>

  <query>
   <query-method>
    <method-name>findAllWithConstraint</method-name>
    <method-params />
   </query-method>
   <ejb-ql><![CDATA[SELECT OBJECT(o) FROM roles AS o]]></ejb-ql>
  </query>
  <query>
                 <query-method>
                      <method-name>findAllOrderByRoleName</method-name>
    <method-params />
   </query-method>
   <ejb-ql></ejb-ql>
             </query>
                <query>
                 <query-method>
                      <method-name>findAllOrderByRoleDesc</method-name>
                      <method-params />
                 </query-method>
                 <ejb-ql></ejb-ql>
             </query>
 </entity>

 </enterprise-beans>

 <assembly-descriptor>
     <container-transaction>
  <method>
             <ejb-name>UsersEJB</ejb-name>
             <method-name>*</method-name>
         </method>
         <method>
             <ejb-name>RolesEJB</ejb-name>
             <method-name>*</method-name>
         </method>
  <trans-attribute>Required</trans-attribute>
 </container-transaction>
 </assembly-descriptor>

</ejb-jar>

  Return to Index