You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by br...@apache.org on 2005/04/09 14:52:25 UTC

cvs commit: db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/guides query.xml

brj         2005/04/09 05:52:25

  Modified:    src/doc/forrest/src/documentation/content/xdocs/docu/guides
                        query.xml
  Log:
  short description of Criteria#addEqualToIdentity
  
  Revision  Changes    Path
  1.4       +30 -4     db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/guides/query.xml
  
  Index: query.xml
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/guides/query.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- query.xml	15 Jan 2005 13:09:22 -0000	1.3
  +++ query.xml	9 Apr 2005 12:52:25 -0000	1.4
  @@ -39,9 +39,9 @@
   
           <anchor id="query-by-criteria"/>
           <section>
  -            <title>Query by Criteria</title>
  +            <title>PB-API Query by Criteria</title>
               <p>
  -                In this section you will learn how to use the query by criteria.
  +                In this section you will learn how to use the query by criteria of the PB-API.
                   The classes are located in the package
                   <code>org.apache.ojb.broker.query</code>.
                   Using query by criteria you can either
  @@ -112,6 +112,7 @@
                           </p>
                       <ul>
                           <li>addEqualTo</li>
  +                        <li>addIdentityEqualTo</li>
                           <li>addLike</li>
                           <li>addGreaterOrEqualThan</li>
                           <li>addGreaterThan</li>
  @@ -182,6 +183,31 @@
                   </section>
   
                   <section>
  +                    <title>equal to Identity</title>
  +                    <p>
  +                        Instead of using the primary keys of an object as a selection criterion, <strong>addEqualToIdentity</strong>
  +                        supports the whole Identity. This feature leads to more readable queries and is useful, when the object has multiple pk.
  +                    </p>
  +                    <p>    
  +                        The following sample looks for projects of a given person. When querying for simple attributes we would use
  +                        crit.addEqualTo("persons.id", personId); where id is the primary key of person. 
  +                        Criteria#addEqualToIdentity accepts the whole Identity and translates it into an addEqualTo() for each primary key.
  +                    </p>
  +                        <source><![CDATA[
  +        Person p = new Person();
  +        p.setFirstname("tom");
  +        p.setLastname(name);
  +        Identity id = broker.serviceIdentity().buildIdentity(p);
  +
  +        Criteria crit = new Criteria();
  +        crit.addIdentityEqualTo("persons", id);
  +
  +        Query q = QueryFactory.newQuery(Project.class, crit);
  +        Collection results = broker.getCollectionByQuery(q);
  +						]]></source>
  +                </section>
  +
  +                <section>
                       <title>negating the criteria</title>
                       <p>
                           A criteria can be negated to obtain
  @@ -664,7 +690,7 @@
                   <section>
   	                <title>Limitations of Report Queries</title>
   					<p>
  -    	            ReportQueries currently only support simple arithmetic expressions (ie. price * 1.05). 
  +    	            ReportQueries currently only support simple arithmetic expressions (ie. price * 1.05).
       	            Expressions based on multiple attributes (ie. price - bonus) do not work.
       	            </p>
   					<p>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org