Author: aadamchik
Date: Sat Oct 20 12:52:41 2012
New Revision: 1400432

URL: http://svn.apache.org/viewvc?rev=1400432&view=rev
Log:
docs: starting on queries

Modified:
    cayenne/main/trunk/docs/docbook/cayenne-guide/src/docbkx/queries.xml
    
cayenne/main/trunk/docs/docbook/cayenne-guide/src/docbkx/starting-cayenne.xml

Modified: cayenne/main/trunk/docs/docbook/cayenne-guide/src/docbkx/queries.xml
URL: 
http://svn.apache.org/viewvc/cayenne/main/trunk/docs/docbook/cayenne-guide/src/docbkx/queries.xml?rev=1400432&r1=1400431&r2=1400432&view=diff
==============================================================================
--- cayenne/main/trunk/docs/docbook/cayenne-guide/src/docbkx/queries.xml 
(original)
+++ cayenne/main/trunk/docs/docbook/cayenne-guide/src/docbkx/queries.xml Sat 
Oct 20 12:52:41 2012
@@ -2,6 +2,25 @@
 <chapter xmlns="http://docbook.org/ns/docbook"; 
xmlns:xlink="http://www.w3.org/1999/xlink";
        version="5.0" xml:id="queries">
        <title>Queries</title>
+       <para>Queries are Java objects that can be translated into SQL 
statements by Cayenne. Most
+               Queries used in applications are intended to find objects 
matching certain criteria, but
+               there are other types of queries too. Such as those allowing to 
execute native SQL, invoke
+               DB stored procedures, etc. Internally when committing objects, 
Cayenne also uses special
+               queries to insert/update/delete rows in the dabase. In other 
words Queries comprise an
+               extensible protocol for communication between a Java 
application and a database. </para>
+       <para>There is a number of built-in queries in Cayenne, described later 
in this chapter. Users
+               can also create their own Query types to abstract certain DB 
interactions that are for
+               whatever reason can not be adequately described by the built-in 
set. </para>
+       <para>Queries can be roughly categorized as "object", "native". Object 
queries (most notably
+               SelectQuery and EJBQLQuery) are built from abstractions 
originating in the object model (the
+               "object" side in the "object-relational" divide). E.g. 
SelectQuery is assembled from a Java
+               class of the objects to fetch, a qualifier expression, 
orderings, etc. - all of this
+               expressed in terms of the object model.</para>
+       <para>Native queries often describe a desired DB operation using SQL 
(SQLTemplate) or referring
+               to stored procedures (ProcedureQuery), etc. The results of 
native queries are usually
+               presented as Lists of Maps, with each map representing a row in 
the DB. They can potentially
+               be converted to objects, however often it takes a considerable 
effort to do so. Native
+               queries are also less (if at all) portable across databases. 
</para>
        <section xml:id="selectquery">
                <title>SelectQuery</title>
        </section>

Modified: 
cayenne/main/trunk/docs/docbook/cayenne-guide/src/docbkx/starting-cayenne.xml
URL: 
http://svn.apache.org/viewvc/cayenne/main/trunk/docs/docbook/cayenne-guide/src/docbkx/starting-cayenne.xml?rev=1400432&r1=1400431&r2=1400432&view=diff
==============================================================================
--- 
cayenne/main/trunk/docs/docbook/cayenne-guide/src/docbkx/starting-cayenne.xml 
(original)
+++ 
cayenne/main/trunk/docs/docbook/cayenne-guide/src/docbkx/starting-cayenne.xml 
Sat Oct 20 12:52:41 2012
@@ -136,10 +136,10 @@ ServerRuntime runtime = 
                        ObjectContext scope, etc.</para>
                <para>
                        <note>
-                               <para>Please do not think of CayenneFilter as 
the only way to start and use Cayenne in a web
-                                       application. CayenneFilter is entirely 
optional. Use it if you don't have any
-                                       special design for application service 
management. If you do, simply integrate
-                                       Cayenne into that design.</para>
+                               <para>You should not think of CayenneFilter as 
the only way to start and use Cayenne in a web
+                                       application. In fact CayenneFilter is 
entirely optional. Use it if you don't
+                                       have any special design for application 
service management. If you do, simply
+                                       integrate Cayenne into that 
design.</para>
                        </note>
                </para>
        </section>


Reply via email to