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 ar...@apache.org on 2007/03/02 02:06:23 UTC
svn commit: r513574 - in
/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation: ./
content/xdocs/ content/xdocs/docu/ content/xdocs/docu/guides/
content/xdocs/docu/tutorials/ resources/images/
Author: arminw
Date: Thu Mar 1 17:06:22 2007
New Revision: 513574
URL: http://svn.apache.org/viewvc?view=rev&rev=513574
Log:
update documentation, add new svn-info, new web-site style
Added:
db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/svn-info.xml
Modified:
db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/faq.xml
db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/getting-started.xml
db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/advanced-technique.xml
db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/odmg-guide.xml
db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/performance.xml
db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/platforms.xml
db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/query.xml
db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/repository.xml
db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/sequencemanager.xml
db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/tutorials/pb-tutorial.xml
db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml
db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/status.xml
db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/resources/images/ojb-400-white.png
db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/skinconf.xml
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/faq.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/faq.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/faq.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/faq.xml Thu Mar 1 17:06:22 2007
@@ -826,26 +826,35 @@
</answer>
</faq>
- <faq id="pageAndSort">
+ <faq id="howtoSort">
<question>
- How to page and sort?
+ How to order/sort and group query?
</question>
<answer>
<p>
- Sorting can be configured by
- <code>org.apache.ojb.broker.query.Criteria::orderBy(column_name)</code>.
- </p>
- <p>
- There is no paging support in OJB. OJB is concerned with Object/Relational
- mapping and not with application specific presentation details like
- presenting a scrollable page of items.
+ See <a href="site:query/ordering">query-guide</a>.
</p>
+ </answer>
+ </faq>
+
+ <faq id="howtoPage">
+ <question>
+ How to do pagination (page query) on large query results?
+ </question>
+ <answer>
<p>
- OJB returns query results as Collections or Iterators.
+ See <a href="site:query/pagination">query-guide</a>.
</p>
+ </answer>
+ </faq>
+
+ <faq id="howtoLimit">
+ <question>
+ How to limit large query result?
+ </question>
+ <answer>
<p>
- You can easily implement your partial display of result data by using an
- Iterator as returned by <code>ojb.broker.PersistenceBroker::getIteratorByQuery(...)</code>.
+ See <a href="site:query/pagination">query-guide</a>.
</p>
</answer>
</faq>
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/getting-started.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/getting-started.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/getting-started.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/getting-started.xml Thu Mar 1 17:06:22 2007
@@ -127,12 +127,13 @@
of OJB such as clustered locking and OJB managed sequences. More information on these
tables is available in the <a href="site:platform">platform documentation</a>.
The schema is in a database-independent format that can be used by
- <a href="ext:torque">Torque</a> or
- <a href="ext:jakarta/commons-sql">commons-sql</a> to create the database.<br/>
- The ojb-blank project contains the runtime files of Torque 3.0.2, and provides a build
- target that can be invoked on your schema (see <a href="#build-actions">below</a>
- for details). Therefore, this directory also contains the build script of Torque, but
- you won't need to invoke it directly.
+ <a href="ext:ddlutils">DdlUtils</a> or <a href="ext:torque">Torque</a> to create the database.
+ <br/>
+ The <em>ojb-blank</em> project contains the runtime files of
+ <a href="ext:ddlutils">DdlUtils</a>/<a href="ext:torque">Torque</a>,
+ and provides a build target that can be invoked on your schema
+ (see <a href="#build-actions">below</a> for details). Therefore, this directory also contains
+ the build script of DdlUtils, but you won't need to invoke it directly.
</dd>
<dt><strong>src/test</strong></dt>
<dd>
@@ -197,7 +198,7 @@
<tr>
<td>databaseUser</td>
<td>The user name for accessing the database (default: <code>sa</code>). If you're
- using Torque to create the database, then this user also requires sufficient
+ using DdlUtils or Torque to create the database, then this user also requires sufficient
rights to create databases and tables.</td>
</tr>
<tr>
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/advanced-technique.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/advanced-technique.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/advanced-technique.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/advanced-technique.xml Thu Mar 1 17:06:22 2007
@@ -47,6 +47,8 @@
There is also a class <code>BookArticle</code> derived from <code>Article</code>.
(See the following class diagram for details)
</p>
+
+
<anchor id="example-hierarchy"/>
<p>
<img src="images/polymorphism.gif" alt="polymorphism.gif"/>
@@ -84,6 +86,7 @@
</p>
</section>
+
<anchor id="extents"/>
<section>
<title>Extents</title>
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/odmg-guide.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/odmg-guide.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/odmg-guide.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/odmg-guide.xml Thu Mar 1 17:06:22 2007
@@ -203,6 +203,15 @@
</section>
+ <anchor id="state-detection"/>
+ <section>
+ <title>Object State Detection</title>
+ <p>
+ !!!TODO
+ </p>
+ </section>
+
+
<anchor id="configuration"/>
<section>
<title>Configuration Properties</title>
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/performance.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/performance.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/performance.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/performance.xml Thu Mar 1 17:06:22 2007
@@ -235,7 +235,9 @@
<li>
connection pooling and pooled prepared statements are enabled (using DBCP based
ConnectionFactory implementation in <a href="ext:ojb.properties">OJB.properties file</a>,
- parameter enabled in <a href="ext:repository_database.xml">repository file</a>)
+ statement caching attributes enabled in the
+ <a href="site:repository/connection-pool">connection-pool</a> element in
+ the <a href="ext:repository_database.xml">repository file</a>)
</li>
<li>
a in-memory sequence key generator is used
@@ -419,7 +421,7 @@
shipped with a simple <em>performance application</em> (independend from OJB)
which allows a rudimentarily comparision of OJB with other (java-based) O/R mapping tools.
<br/>
- All involved classes can be found in dirctory <em>[db-ojb]/src/test</em> in package
+ All involved classes can be found in directory <em>[db-ojb]/src/test</em> in package
<code>org.apache.ojb.performance</code>.
</p>
<p>
@@ -663,6 +665,18 @@
or 'useAutoCommit="2"' setting is used in
<a href="site:repository/jdbc-connection-descriptor">the jdbc-connection-descriptor</a>
to avoid <code>Connection.setAutoCommit(...)</code> calls by OJB.</p>
+ </li>
+ <li>
+ <p>
+ The use of <a href="site:basic-technique/using-proxy"><em>"proxied references"</em></a> for
+ references in persistent objects whenever it's possible (and indicated) to avoid
+ materialization of the whole object graph.
+ </p>
+ <p>
+ If interested in a single field or a few fields of a persistence capable object it's
+ recommended to perform a <a href="site:query/report-queries">Report Query</a> to get
+ an array of the fields instead of quering the whole object.
+ </p>
</li>
<li><p>The <a href="site:advanced-technique/persistent-field"><code>PersistentField</code> class
implementation</a>. See <a href="ext:ojb.properties">OJB.properties section
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/platforms.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/platforms.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/platforms.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/platforms.xml Thu Mar 1 17:06:22 2007
@@ -22,6 +22,7 @@
<title>Platforms</title>
<authors>
<person name="Thomas Mahler" email="thma@apache.org"/>
+ <person name="Armin Waibel" email=""/>
</authors>
</header>
@@ -50,22 +51,28 @@
<section>
<title>Basic Concepts</title>
- <anchor id="platform-declaration"/>
+ <anchor id="declaration"/>
<section>
- <title>Database Platform declaration</title>
+ <title>Database Platform</title>
<p>
The database platform is declared in the
<a href="site:repository/jdbc-connection-descriptor">jdbc-connection-descriptor</a> using
the <em>platform</em> attribute. OJB supports many popular databases:
</p>
<p>
- Db2 | Hsqldb | Informix | MsAccess | MsSQLServer | MySQL | Oracle | PostgreSQL |
- Sybase | SybaseASE | SybaseASA | Sapdb | Firebird | Axion | Oracle9i (or higher) |
+ Db2 | Hsqldb | Informix | MsAccess | MsSQLServer | MySQL | Axion | PostgreSQL |
+ Sybase | SybaseASE | SybaseASA | Sapdb | Firebird | Oracle | Oracle9i (or higher) |
MaxDB | Derby
</p>
<p>
Additionally it's possible to specifiy custom <a href="ext:platform"><code>Platform</code></a>
- implementation classes.
+ implementation classes (more details see
+ <a href="site:repository/jcd-attributes">jdbc-connection-descriptor <em>platform</em> attribute</a>).
+ </p>
+ <p>
+ The <a href="ext:platform"><code>Platform</code></a> implementation class handles all platform
+ specific operations like <em>join syntax type detection</em>, <em>quote syntax</em>,
+ <em>limit/offset syntax</em> ...etc.
</p>
</section>
@@ -107,7 +114,7 @@
</td>
<td>
Table for the <a href="site:sequence-manager/high-low-sequence">high/low sequence manager</a>.
- The column <em>NAME</em> was used to persist the sequence name.
+ The column <em>TABLENAME</em> is used to persist the sequence name.
<br/>
If the built-in OJB sequence manager is not used, this table is not needed.
</td>
@@ -257,15 +264,12 @@
</table>
<p>
- OJB uses
- <a href="ext:torque">Torque</a>
- to create all required tables and data.
- Thus there is no SQL DDL file, but an XML file describing the
- tables in format readable by Torque.
-
- The Torque DDL information for the internal tables resides in the
- file
- <code>src/schema/ojbcore-schema.xml</code>.
+ OJB can use <a href="ext:ddlutils">DdlUtils</a> to create all required
+ tables and data. Thus there is no SQL DDL file, but an XML file describing the
+ tables in format readable by this tools.
+
+ The DDL information for the internal tables resides in the
+ file <code>src/schema/ojbcore-schema.xml</code>.
</p>
<p>
The o/r mappings for these tables are contained in the file
@@ -273,8 +277,9 @@
</p>
<p>
If you want to have a look at how these files could be used,
- have a look at the the <a href="site:getting-started">ojb-blank</a>
- sample project which is already prepared to use these files.
+ have a look at the <a href="site:getting-started">ojb-blank
+ sample project</a> of the <em>getting-started document</em> which is
+ already prepared to use these files.
</p>
</section>
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/query.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/query.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/query.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/query.xml Thu Mar 1 17:06:22 2007
@@ -22,6 +22,7 @@
<title>OJB Queries</title>
<authors>
<person name="Jakob Braeuchi" email="jbraeuchi@gmx.ch"/>
+ <person name="Armin Waibel" email=""/>
</authors>
</header>
@@ -32,16 +33,17 @@
This tutorial describes the use of the different queries mechanisms.
The sample code shown here is taken mainly from JUnit test classes. The junit test
source can be found under
- <code>[db-ojb]/src/test</code> in the source distribution.
+ <code>[db-ojb]/src/test</code> in the source distribution. Here you can find more details
+ about the <a href="site:test-suite">OJB Test-Suite</a>.
</p>
</section>
<anchor id="query-by-criteria"/>
<section>
- <title>Query by Criteria</title>
+ <title>The Criteria-API</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 <em>Criteria-API</em>.
The classes are located in the package
<code>org.apache.ojb.broker.query</code>.
Using query by criteria you can either
@@ -202,6 +204,7 @@
</section>
</section>
+ <anchor id="ordering"/>
<section>
<title>ordering and grouping</title>
<p>
@@ -250,8 +253,20 @@
</p>
</section>
+
+ <anchor id="pagination"/>
+ <section>
+ <title>Pagination and Limiting of query results</title>
+ <p>
+ !!TODO!!
+ </p>
+
+ </section>
+
+
+ <anchor id="subqueries"/>
<section>
- <title>subqueries</title>
+ <title>Subqueries</title>
<p>
Subqueries can be used instead of values in selection criteria.
The subquery should thus be a ReportQuery.
@@ -412,7 +427,7 @@
</p>
</section>
-
+ <anchor id="user-defined-alias"/>
<section>
<title>user defined alias</title>
<p>
@@ -528,6 +543,7 @@
</note>
</section>
+ <anchor id="class-hints"/>
<section>
<title>class hints</title>
<p>
@@ -569,6 +585,8 @@
</section>
+
+ <anchor id="prefetched-relations"/>
<section>
<title>prefetched relationships</title>
<p>
@@ -644,9 +662,19 @@
<anchor id="query-by-identity"/>
<section>
- <title>Lookup object by <code>Identity</code> (primary key)</title>
+ <title>find by Primary Key (by <code>Identity</code>)</title>
+ <p>
+ How to lookup object by primary key (by object <code>Identity</code>) is explained
+ in <a href="site:pb-tutorial/find-by-pk">the PB-tutorial</a>.
+ </p>
+ </section>
+
+ <anchor id="query-by-example"/>
+ <section>
+ <title>query by example</title>
<p>
- See <a href="site:pb-tutorial/find-by-pk">lookup object by <code>Identity</code> here</a>.
+ How to do a <em>query by example</em> is explained
+ in <a href="site:pb-tutorial/query-by-example">the PB-tutorial</a>.
</p>
</section>
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/repository.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/repository.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/repository.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/repository.xml Thu Mar 1 17:06:22 2007
@@ -59,9 +59,10 @@
</li>
<li>
<a href="ext:ojb/repository_internal.xml">the repository_internal.xml</a>.
- This file contains the mapping information for the OJB internal tables.
- These tables are used for implementing SequenceManagers and
- persistent collections.
+ This file contains the mapping information for the OJB
+ <a href="site:platform/internal-tables">internal tables</a>.
+ These tables are used by a <a href="site:sequence-manager/high-low-sequence">SequenceManager</a>
+ implementation and some specific optional ODMG persistent-collection classes.
</li>
<li>
<a href="ext:ojb/repository_user.xml">the repository_user.xml</a>.
@@ -239,12 +240,18 @@
instances of a proxied class should be loaded in a single query when the proxy is
first accessed.
</p>
+ <p>
+ The <em>state-detection</em> attribute is used by API's supporting automatic state detection
+ of persistence capable objects. The attribute indicate whether or not mapped classes should
+ be included in object state detection (automatic detection of changed object fields).
+ </p>
<source><![CDATA[
<!ATTLIST descriptor-repository
version (1.0) #REQUIRED
isolation-level (read-uncommitted | read-committed | repeatable-read |
serializable | optimistic | none) "read-uncommitted"
proxy-prefetching-limit CDATA "50"
+ state-detection (true | false) "true"
>]]></source>
</section>
</section>
@@ -528,6 +535,14 @@
'autoCommit' state at connection initialization.
</p>
<p>
+ Attribute <em>nativeLimitOffset</em>: If set <em>true</em> OJB use the native database
+ LIMIT and OFFSET syntax for
+ <a href="site:query/pagination">limit and paging queries</a> (if it's supported by the
+ DB and OJB's <a href="site:platform/declaration">Platform implementation class</a>).
+ If set 'false' OJB simulate limit and paging
+ by a specific result set iterator (this can result in bad performance on big result sets).
+ </p>
+ <p>
Other platform specific settings are shown below.
</p>
<p>
@@ -551,6 +566,14 @@
-->
<attribute attribute-name="initializationCheck" attribute-value="false" />
+ <!--
+ If set 'true' OJB use the native database LIMIT and OFFSET syntax
+ for limit and paging queries (if it's supported by the DB and OJB's Platform
+ implementation class). If set 'false' OJB simulate limit and paging by a specific
+ result set iterator (this can result in bad performance on big result sets).
+ -->
+ <attribute attribute-name="nativeLimitOffset" attribute-value="true" />
+
<!-- ** Attributes with name prefix "platform." are used to allow database
platform class specific settings (PlatformXYZImpl classes) -->
@@ -968,7 +991,14 @@
Usage example of supported custom attributes:
</p>
<source><![CDATA[
-<sequence-manager className="org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl">
+<sequence-manager className="memory">
+ <!-- The attribute 'seq.perField': If set 'true' it's possible to define per
+ field-descriptor sequence manager. This way you can use different sequence
+ identifier generation strategies. If set 'false' only the default sequence manager
+ defined within the jdbc-connection-descriptor is used and all sequence descriptors defined
+ on field-descriptor level are ignored -->
+ <attribute attribute-name="seq.perField" attribute-value="false"/>
+
<!-- attributes supported by SequenceManagerHighLowImpl,
SequenceManagerInMemoryImpl, SequenceManagerNextValImpl
please see "Sequence Manager" guide or/and javadoc of class for more information -->
@@ -989,6 +1019,13 @@
<!-- attribute attribute-name="seq.cycle" attribute-value="false"/ -->
<!-- attribute attribute-name="seq.cache" attribute-value="20"/ -->
<!-- attribute attribute-name="seq.order" attribute-value="false"/ -->
+
+ <!-- optional attributes supported by SequenceManagerIdentityImpl, more details
+ please see "Sequence Manager" guide or/and javadoc of classes for more information -->
+ <!-- If set 'true' OJB use JDBC 3.0 method "Statement.getGeneratedKeys()"
+ to obtain generated database identity keys. If set 'false' OJB use a separate
+ database specific "last identity call" query to request the generated identity key. -->
+ <!-- attribute attribute-name="seq.generatedKeys" attribute-value="true"/ -->
</sequence-manager>]]></source>
</section>
</section>
@@ -1268,22 +1305,37 @@
when loaded from cache. Means all field values (except references) will be replaced by values
retrieved from the database. It's set to <em>false</em> by default.
</p>
+ <p>
+ The <em>state-detection</em> attribute is used by API's supporting automatic state detection
+ of persistence capable objects (e.g. odmg-api implementation does). The attribute indicate
+ whether or not this class should be included in object state detection (automatic detection
+ of changed object fields). If <em>state-detection</em> is generally disabled, this setting
+ will (normally) be ignored.
+ </p>
+ <p>
+ The <em>field-class</em> attribute can be used to override the
+ <a href="site:advanced-technique/persistent-field"><code>PersistentField</code></a> implementation
+ class.
+ </p>
+
<source><![CDATA[
<!ATTLIST class-descriptor
- class ID #REQUIRED
- isolation-level (read-uncommitted | read-committed |
- repeatable-read | serializable | optimistic | none) "read-uncommitted"
- proxy CDATA #IMPLIED
- proxy-prefetching-limit CDATA #IMPLIED
- schema CDATA #IMPLIED
- table CDATA #IMPLIED
- row-reader CDATA #IMPLIED
+ class ID #REQUIRED
+ isolation-level (read-uncommitted | read-committed | repeatable-read |
+ serializable | optimistic | none) #IMPLIED
+ proxy CDATA #IMPLIED
+ proxy-prefetching-limit CDATA #IMPLIED
+ schema CDATA #IMPLIED
+ table CDATA #IMPLIED
+ row-reader CDATA #IMPLIED
extends IDREF #IMPLIED
- accept-locks (true | false) "true"
- initialization-method CDATA #IMPLIED
- factory-class CDATA #IMPLIED
- factory-method CDATA #IMPLIED
- refresh (true | false) "false"
+ accept-locks (true | false) "true"
+ initialization-method CDATA #IMPLIED
+ factory-class CDATA #IMPLIED
+ factory-method CDATA #IMPLIED
+ refresh (true | false) "false"
+ state-detection CDATA #IMPLIED
+ field-class CDATA #IMPLIED
>]]></source>
</section>
</section>
@@ -1457,30 +1509,46 @@
refer to a Java attribute of the class, but is used as a unique
identifier only. More info about <a href="site:anonymous-keys">anonymous keys here</a>.
</p>
+ <p>
+ The <em>state-detection</em> attribute is used by API's supporting automatic state detection
+ of persistence capable objects. The attribute indicate whether or not this field should
+ be included in object state detection (automatic detection of changed object fields).
+ If in the <em>state-detection</em> is generally disabled or in the associated
+ <a href="site:repository/class-descriptor">class-descriptor</a>, this setting will (normally)
+ be ignored.
+ </p>
+ <p>
+ The <em>field-class</em> attribute can be used to override the
+ <a href="site:advanced-technique/persistent-field"><code>PersistentField</code></a> implementation
+ class.
+ </p>
<source><![CDATA[
<!ATTLIST field-descriptor
- id CDATA #IMPLIED
- name CDATA #REQUIRED
- table CDATA #IMPLIED
- column CDATA #REQUIRED
- jdbc-type (BIT | TINYINT | SMALLINT | INTEGER | BIGINT | DOUBLE |
- FLOAT | REAL | NUMERIC | DECIMAL | CHAR | VARCHAR |
- LONGVARCHAR | DATE | TIME | TIMESTAMP | BINARY |
- VARBINARY | LONGVARBINARY | CLOB | BLOB) #REQUIRED
- primarykey (true | false) "false"
- nullable (true | false) "true"
- indexed (true | false) "false"
- autoincrement (true | false) "false"
+ id CDATA #IMPLIED
+ name CDATA #REQUIRED
+ table CDATA #IMPLIED
+ column CDATA #REQUIRED
+ jdbc-type (BIT | TINYINT | SMALLINT | INTEGER | BIGINT | DOUBLE |
+ FLOAT | REAL | NUMERIC | DECIMAL | CHAR | VARCHAR |
+ LONGVARCHAR | DATE | TIME | TIMESTAMP | BINARY |
+ VARBINARY | LONGVARBINARY | CLOB | BLOB | STRUCT |
+ ARRAY | REF | BOOLEAN | DATALINK | JAVA_OBJECT) #IMPLIED
+ primarykey (true | false) "false"
+ nullable (true | false) "true"
+ indexed (true | false) "false"
+ autoincrement (true | false) "false"
sequence-name CDATA #IMPLIED
- locking (true | false) "false"
- update-lock (true | false) "true"
- default-fetch (true | false) "false"
- conversion CDATA #IMPLIED
- null-check CDATA #IMPLIED
- length CDATA #IMPLIED
- precision CDATA #IMPLIED
- scale CDATA #IMPLIED
- access (readonly | readwrite | anonymous) "readwrite"
+ locking (true | false) "false"
+ update-lock (true | false) "true"
+ default-fetch (true | false) "false"
+ conversion CDATA #IMPLIED
+ null-check CDATA #IMPLIED
+ length CDATA #IMPLIED
+ precision CDATA #IMPLIED
+ scale CDATA #IMPLIED
+ access (readonly | readwrite | anonymous) "readwrite"
+ state-detection CDATA #IMPLIED
+ field-class CDATA #IMPLIED
>]]></source>
</section>
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/sequencemanager.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/sequencemanager.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/sequencemanager.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/sequencemanager.xml Thu Mar 1 17:06:22 2007
@@ -538,6 +538,12 @@
for a given sequence name (specified in <em>field-descriptor</em>) no database sequence
can be found.
</p>
+ <note>
+ If <a href="site:advanced-technique/extents">inheritance by extents</a> with separate tables
+ for each class is used the <em>sequence name</em> have to be
+ <a href="#extent-aware">"extent aware"</a> - use the same <em>sequence name</em> for all
+ tables of the inheritance-hierarchy.
+ </note>
<p>
The table below show additional <em>sequence properties</em>. To specifiy the properties
use <a href="site:repository/custom-attribute">custom-attributes</a>
@@ -713,23 +719,12 @@
<title>Database Identity-column based sequence manager</title>
<p>
This sequence manager implementation supports database <em>Identity columns</em>
- (supported by MySQL, MsSQL, HSQL, ...). When using identity columns we have to do
- a trick to make the sequence manager work.
- <br/>
- OJB identify each persistence capable object by a unique
- <a href="ext:identity">ojb-Identity object</a>. These ojb-Identity
- objects were created using the sequence manager instance to
- get UID's. Often these ojb-Identity objects were created before
+ (supported by MySQL, MsSQL, HSQL, ...). This <em>sequence manager</em> implementation
+ is different from others because the generated sequence keys can only be obtained after
the persistence capable object was written to database.
<br/>
- When using Identity columns it is not possible to retrieve the next
- valid UID before the object was written to database. As recently as
- the real object was written to database, you can ask the DB for the last
- generated UID. Thus in SequenceManagerNativeImpl we have to do a trick and use
- a 'temporary' UID till the object was written to database.
- <br/>
- So for best compatibility try to avoid using <em>Identity columns</em> in your
- database model. If this is not possible, use this sequence manager implementation to
+ So for best compatibility with other databases try to avoid using <em>Identity columns</em>
+ in your database model. If this is not possible, use this sequence manager implementation to
work with database <em>Identity columns</em>.
</p>
<p>
@@ -742,17 +737,32 @@
</p>
<source><![CDATA[
<!--<sequence-manager className="org.apache.ojb.broker.util.sequence.SequenceManagerIdentityImpl"/>-->
-<sequence-manager className="identity"/>]]></source>
+<sequence-manager className="identity">
+ <!-- If set 'true' OJB use the JDBC 3.0 method "Statement.getGeneratedKeys()"
+ to obtain generated database identity keys. If set 'false' OJB use a separate
+ database specific "last identity call" query to request the generated identity key. -->
+ <attribute attribute-name="seq.generatedKeys" attribute-value="true"/>
+</sequence-manager>]]></source>
+ <p>
+ With the custom attribute <em>seq.generatedKeys</em> it's possible to decide how
+ OJB lookup the generated database identity key. If set <em>true</em> OJB use the JDBC 3.0 method
+ <code>Statement.getGeneratedKeys()</code> to obtain generated database identity keys. If set
+ <em>false</em> OJB use a separate database specific <em>"last identity call"</em> query to
+ request the generated identity key. By default the JDBC 3.0 method call is used, if supported by
+ the database driver.
+ </p>
<p>
To declare the identity column in the persistent class mapping
<a href="site:repository/class-descriptor">class-descriptor</a>, add the
following attributes to the primary key/identity key
<a href="site:repository/field-descriptor">field-descriptor</a>:
- <br/>
+ </p>
+ <p>
<code>primarykey="true"</code>,
<code>autoincrement="true"</code> and
<strong><code>access="readonly"</code></strong>
- <br/>
+ </p>
+ <p>
The first and second attributes are the same as all sequence manager implementations
use to support autoincrement PK fields, the third one is mandatory for database
<em>Identity columns</em> only.
@@ -765,15 +775,20 @@
primarykey="true"
autoincrement="true"
access="readonly"/>]]></source>
+ <note>
+ If declaring <a href="site:advanced-technique/extents">inheritance by "extents"</a>
+ the primary key or compounded key (declared on OJB level) have to be
+ <a href="#extent-aware">extent aware</a>.
+ The use of <em>Identity columns</em> is <strong>not extent aware</strong>.
+ <br/>
+ More info about <em>extent aware keys</em> and how to use identity columns
+ in a <em>extent aware</em> manner <a href="#extent-aware">here</a>.
+ </note>
<p>
Limitations:
<br/>- The Identity columns have to
<strong>start with value greater than '0'</strong> and should
never be negative.
- <br/>- Use of Identity columns is
- <strong>not extent aware</strong> (This may change in further versions).
- More info
- <a href="#extent-aware">here</a>.
</p>
</section>
@@ -809,7 +824,7 @@
<attribute attribute-name="seq.autoNaming" attribute-value="true"/>
</sequence-manager>]]></source>
<p>
- For attribute <a href="#auto-naming"><em>seq.autoNaming</em> see</a>.
+ More details about attribute <a href="#auto-naming"><em>seq.autoNaming</em> see here</a>.
</p>
<p>
This sequence manager implementation supports user defined
@@ -1082,7 +1097,7 @@
</p>
<source><![CDATA[
<sequence-manager className="org.apache.ojb.broker.util.sequence.SequenceManagerNextValImpl">
-<attribute attribute-name="seq.autoNaming" attribute-value="true"/>
+ <attribute attribute-name="seq.autoNaming" attribute-value="true"/>
</sequence-manager>]]></source>
<p>
If set <em>true</em> OJB try to build a
@@ -1201,30 +1216,145 @@
<anchor id="extent-aware"/>
<section>
<title>What to hell does
- <em>extent aware</em> mean?
+ <em>"extent aware"</em> mean?
</title>
<p>
- Say we have an abstract base class
- <code>Animal</code> and two classes
- <code>Dog</code> and
- <code>Cat</code>
- which extend
- <code>Animal</code>. For each non-abstract class we create a separate
- database table and
- <a href="site:advanced-technique/polymorphism">declare the inheritance</a> in OJB.
- <br/>
- Now it is possible to do a query like
- <em>give me all animals</em> and OJB will return all <code>Cat</code> and <code>Dog</code>
- objects. To make this working in OJB
+ Say we have an abstract base class <code>Animal</code> (or interface) and two classes
+ <code>Dog</code> and <code>Cat</code> which extend <code>Animal</code>. For each
+ non-abstract class we create a separate database table and
+ <a href="site:advanced-technique/extents">declare the inheritance by declaring an "extent"</a>
+ in OJB.
+ <br/>
+ Now it is possible to do a query like <em>"give me all animals"</em> and OJB will return all
+ <code>Cat</code> and <code>Dog</code> objects.
+ </p>
+ <p>
+ To make this working in OJB
the ID's of <code>Dog</code> and <code>Cat</code> objects must be unique across the
- tables of both classes or else you may not get a vaild query result (e.g. you can't
+ tables of both classes or else you may not get
+ <br/>
+ - a vaild query result (e.g. you can't
query for the <code>Animal</code> with <em>id=23</em>, because in both tables such an id
- can exist).
+ can exist)
<br/>
- The reason for this behaviour is the
+ - unique OJB identity objects (instances of
<a href="ext:identity"><code>org.apache.ojb.broker.Identity</code></a>
- class implementation (more details see javadoc/source of this class).
+ used by OJB or to lookup persistent objects by "primary key"/identity) which based
+ on the primary key values of the object and the top-level class name (e.g. in the example
+ above it would be Identity[23, Animal.class]).
+ </p>
+ <p>
+ Thus if you for example use <a href="#identity-columns">database identity columns</a> in the
+ <code>Dog</code> and <code>Cat</code> tables the problem described above occur.
+ <br/>
+ The problem can be solved
+ <br/>
+ - by using a compounded primary key on OJB level (the field associated with the identity
+ column + another field make the compounded key unique across different tables)
+ <br/>
+ - or by including a <em>discriminator field/column</em> with the class name of the object:
+ </p>
+ <source><![CDATA[
+abstract class Animal implements Serializable
+{
+ private Integer id;
+ /**
+ * This special attribute telling OJB which concrete class
+ * this Object has.
+ * NOTE: this attribute MUST be called ojbConcreteClass
+ */
+ private String ojbConcreteClass;
+
+ public Animal()
+ {
+ ojbConcreteClass=this.getClass().getName();
+ }
+ ...
+}
+
+public class Dog extends Animal
+{
+ ...
+}
+
+// the mapping:
+<class-descriptor class="Animal">
+ <extent-class class-ref="Dog" />
+ <extent-class class-ref="Cat" />
+</class-descriptor>
+
+<class-descriptor class="Dog" table="DOG">
+ <field-descriptor
+ name="id"
+ column="ID_"
+ jdbc-type="INTEGER"
+ primarykey="true"
+ autoincrement="true"
+ access="readonly"
+ />
+
+ <field-descriptor
+ name="ojbConcreteClass"
+ column="CLASS_NAME"
+ jdbc-type="VARCHAR"
+ />
+ ...
+</class-descriptor>
+
+<class-descriptor class="Cat" table="CAT">
+ <field-descriptor
+ name="id"
+ column="ID_"
+ jdbc-type="INTEGER"
+ primarykey="true"
+ autoincrement="true"
+ access="readonly"
+ />
+
+ <field-descriptor
+ name="ojbConcreteClass"
+ column="CLASS_NAME"
+ jdbc-type="VARCHAR"
+ />
+ ...
+</class-descriptor>]]></source>
+ <p>
+ If you use <a href="#database-sequences-based">database sequences</a> based keys let
+ OJB handle the sequence names or take care
+ to use the same sequence name for all <a href="site:advanced-technique/extents">extents</a>
+ in the inheritance hierarchy:
</p>
+ <source><![CDATA[
+<class-descriptor class="Animal">
+ <extent-class class-ref="Dog" />
+ <extent-class class-ref="Cat" />
+</class-descriptor>
+
+<class-descriptor class="Dog" table="DOG">
+ <field-descriptor
+ name="id"
+ column="ID_"
+ jdbc-type="INTEGER"
+ primarykey="true"
+ autoincrement="true"
+ sequence-name="dog_cat_seq"
+ />
+ ...
+</class-descriptor>
+
+<class-descriptor class="Cat" table="CAT">
+ <field-descriptor
+ name="id"
+ column="ID_"
+ jdbc-type="INTEGER"
+ primarykey="true"
+ autoincrement="true"
+ sequence-name="dog_cat_seq"
+ />
+
+ ...
+</class-descriptor>
+ ]]></source>
</section>
@@ -1232,17 +1362,13 @@
<section>
<title>How could I prevent auto-build of the sequence-name?</title>
<p>
- All shipped
- <code>SequenceManager</code> implementations which using sequence names
- for UID generation, support by default auto-build (seq.autoNaming) of the sequence name
- if none was found in the
- <code>field-descriptor</code>.
- <br/>
- To prevent this, all relevant SM implementations support a
- <code>seq.autoNaming</code>
- property - set via
- <code>attribute</code> element. If set
- <code>false</code> OJB doesn't
+ All sequence name based <code>SequenceManager</code> implementations by default support
+ auto-build of the sequence name if no valid attribute <em>sequence-name</em> can be
+ found in the <code>field-descriptor</code>.
+ <br/>
+ To prevent auto-generation of sequence names, all relevant <em>sequence manager</em>
+ implementations support a <a href="site:repository/custom-attribute">custom attribute</a>
+ <code>seq.autoNaming</code>. If set <code>false</code> OJB doesn't
try to build sequence names automatic.
</p>
<source><![CDATA[
@@ -1285,11 +1411,11 @@
That's no problem:
</p>
<source><![CDATA[
- PersistenceBroker broker =
- PersistenceBrokerFactory.createPersistenceBroker(myPBKey);
- SequenceManager sm = broker.serviceSequenceManager();
- ...
- broker.close();]]></source>
+PersistenceBroker broker =
+PersistenceBrokerFactory.createPersistenceBroker(myPBKey);
+SequenceManager sm = broker.serviceSequenceManager();
+...
+broker.close();]]></source>
<p>
If you use
<code>autoincrement=true</code> in your
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/tutorials/pb-tutorial.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/tutorials/pb-tutorial.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/tutorials/pb-tutorial.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/tutorials/pb-tutorial.xml Thu Mar 1 17:06:22 2007
@@ -214,13 +214,23 @@
<anchor id="query-objects"/>
+ <anchor id="query-by-example"/>
<section>
<title>Querying Persistent Objects</title>
<p>
Once objects have been stored to the database, it is important to be able to get them
back. The PersistenceBroker API provides two mechanisms for
- <a href="site:query">building queries</a>, by
- using a template object, or by using specific criteria.
+ <a href="site:query">building queries</a>:
+ <br/>
+ - using a template object, so called "query by example"
+ <br/>
+ - using specific criterias
+ </p>
+ <p>
+ <strong>query by example</strong>
+ </p>
+ <p>
+ In this tutorial we first use a "query by example", because it's easy to explain.
</p>
<source><![CDATA[
public static Product findByTemplate(Product template)
@@ -230,7 +240,7 @@
try
{
broker = PersistenceBrokerFactory.defaultPersistenceBroker();
- QueryByCriteria query = QueryFactory.newQuery(template);
+ Query query = QueryFactory.newQueryByExample(template);
result = (Product) broker.getObjectByQuery(query);
}
finally
@@ -242,9 +252,17 @@
<p>
This function finds a
<code>Product</code> by building a query against a template
- <code>Product</code>. The template should have any properties set which should
- be matched by the query. Building on the previous example where a product
- was stored, we can now query for that same product:
+ <code>Product</code> object. The template should have any properties set which should
+ be matched by the query.
+ </p>
+ <note>
+ All nullified fields and references of the template object will be completely
+ ignored. Take care of primitive fields, OJB will always set the associated values
+ in the query (primitive number fields are initialized with '0' by default).
+ </note>
+ <p>
+ Building on the previous example where a product was stored, we can now query for that
+ same product:
</p>
<source><![CDATA[
Product product = new Product();
@@ -270,8 +288,11 @@
are not used to match.
</p>
<p>
- An alternate, and more flexible, way to have specified a query via the
- PersistenceBroker API is by constructing the criteria on the query
+ <strong>query by Criteria-API</strong>
+ </p>
+ <p>
+ An alternate, and more flexible, way is to perform a query via the
+ <em>PersistenceBroker-Criteria API</em> is by constructing the criteria on the query
by hand. The following function does this.
</p>
<source><![CDATA[
@@ -282,11 +303,9 @@
try
{
broker = PersistenceBrokerFactory.defaultPersistenceBroker();
-
- Criteria criteria = new Criteria();
- criteria.addLessOrEqualThan("stock", new Integer(20));
- criteria.addGreaterOrEqualThan("price", new Double(100000.0));
-
+ Criteria criteria = new Criteria()
+ .addLessOrEqualThan("stock", new Integer(20))
+ .addGreaterOrEqualThan("price", new Double(100000.0));
QueryByCriteria query = QueryFactory.newQuery(Product.class, criteria);
results = broker.getCollectionByQuery(query);
}
@@ -304,6 +323,10 @@
<code>criteria.addLessOrEqualThan("stock", new Integer(10));</code> notice the arguments.
The first is the property name on the object being queried for. The second is an
<code>Integer</code> instance to be used for the comparison.
+ </p>
+ <p>
+ For more details about how to perform queries with the <em>Criteria-API</em> please refer to the
+ <a href="site:query/query-by-criteria">query-guide</a>
</p>
<p>
After the
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml Thu Mar 1 17:06:22 2007
@@ -33,7 +33,7 @@
<site label="OJB" href="" tab="home" xmlns="http://apache.org/forrest/linkmap/1.0">
<ojb label="OJB">
- <index label="Home" href="index.html"/>
+ <index label="" href="index.html"/>
<news label="News" href="news.html"/>
<features label="Features" href="features.html"/>
<!-- faq label="FAQ's" href="site:faq" / -->
@@ -48,29 +48,30 @@
<design href="#design"/>
<more-or href="#more-or"/>
</links>
- </ojb>
- <download label="Download">
- <binaries label="Binaries" href="ext:ojb/binaries-version"/>
- <source label="Source" href="ext:ojb/source-version"/>
- </download>
-
- <development label="Development">
- <todo label="OJB SVN" href="ext:ojb/svn-view"/>
- <todo label="Apache SVN" href="ext:ojb/svn-index"/>
- <license label="License" href="ext:ojb/license-site"/>
- <!-- todo label="Todo" href="todo.html" / -->
- <coding label="Coding Standards" href="code-standards.html"/>
- </development>
-
- <all label="Index">
- <linkmap label="Sitemap" href="linkmap.html"/>
- <!--<whole_site_html label="Site as HTML" href="site.html"/>-->
- <whole_site_pdf label="Site as PDF" href="site.pdf"/>
- </all>
+ <download label="Download">
+ <source label="Source & Binaries" href="ext:ojb/source-version"/>
+ </download>
+
+ <development label="Development">
+ <svn label="OJB SVN" href="svn-info.html"/>
+ <todo label="Browse OJB" href="ext:ojb/svn-view"/>
+ <todo label="Browse Apache" href="ext:ojb/svn-index"/>
+ <license label="License" href="ext:ojb/license-site"/>
+ <!-- todo label="Todo" href="todo.html" / -->
+ <coding label="Coding Standards" href="code-standards.html"/>
+ </development>
+
+ <all label="Index">
+ <linkmap label="Sitemap" href="linkmap.html"/>
+ <!--<whole_site_html label="Site as HTML" href="site.html"/>-->
+ <whole_site_pdf label="Site as PDF" href="site.pdf"/>
+ </all>
+ </ojb>
<documentation label="Documentation" href="docu/" tab="documentation">
+
<index label="Summary" href="index.html"/>
<faq label="FAQ's" href="faq.html">
<apis href="#apis"/>
@@ -95,6 +96,7 @@
</mapping-tutorial>
<pb-tutorial label="The PB API" href="pb-tutorial.html">
<find-by-pk href="#find-by-pk"/>
+ <query-by-example href="#query-by-example"/>
<exception-handling href="#exception-handling"/>
</pb-tutorial>
<odmg-tutorial label="The ODMG API" href="odmg-tutorial.html"/>
@@ -124,7 +126,7 @@
<pb-access href="#pb-access"/>
</odmg-guide>
<platform label="Platform settings" href="platforms.html">
- <platform-declaration href="#platform-declaration"/>
+ <declaration href="#declaration"/>
<internal-tables href="#internal-tables"/>
<select-profile href="#select-profile"/>
</platform>
@@ -138,6 +140,7 @@
<introduction href="#introduction"/>
<descriptor-repository href="#descriptor-repository"/>
<jdbc-connection-descriptor href="#jdbc-connection-descriptor"/>
+ <jcd-attributes href="#jcd-attributes"/>
<connection-pool href="#connection-pool"/>
<class-descriptor href="#class-descriptor"/>
<field-descriptor href="#field-descriptor"/>
@@ -194,6 +197,9 @@
<jdo-oql href="#jdo-oql"/>
<prefetched-relationships href="#prefetched-relationships"/>
<report-queries href="#report-queries"/>
+ <ordering href="#ordering"/>
+ <pagination href="#pagination"/>
+ <subqueries href="#subqueries"/>
</query>
<metadata label="Metadata handling" href="metadata.html">
<when-read-in href="#when-read-in"/>
@@ -411,6 +417,15 @@
<sequencing-mail href="http://mail-archives.apache.org/mod_mbox/db-ojb-user/200605.mbox/%3c445B43D3.800@mgrinformatica.com.br%3e"/>
</mssql>
<eclipse href="http://www.eclipse.org/"/>
+ <tigris>
+ <subclipse href="http://subclipse.tigris.org/"/>
+ <svn href="http://subversion.tigris.org/"/>
+ <svn-up href="http://svnup.tigris.org/"/>
+ <tortoisesvn href="http://tortoisesvn.tigris.org"/>
+ </tigris>
+ <netbeans href="http://www.netbeans.org/">
+ <subversion-profile href="http://vcsgeneric.netbeans.org/profiles/index.html"/>
+ </netbeans>
<idea href="http://www.jetbrains.com/idea/index.html"/>
<mozilla href="http://www.mozilla.org/"/>
<andromda href="http://andromda.sf.net/"/>
@@ -440,14 +455,13 @@
<clepsydra href="http://clepsydra.javaforge.com/"/>
-
<!-- Article links used within OJB -->
<article>
<spring-ojb-part-1 href="http://staff.osuosl.org/~mckerrj/?p=3"/>
<spring-ojb-part-2 href="http://staff.osuosl.org/~mckerrj/?p=4"/>
<spring-ojb-part-3 href="http://staff.osuosl.org/~mckerrj/?p=8"/>
<springframework-and-ojb href="http://blogs.codepuccino.com/dude/index.php?p=23"/>
-
+ <cglib-pitfall href="http://blog.springframework.com/rob/archives/2005/08/18/caveats-with-class-proxying-in-spring/"/>
</article>
</external-refs>
</site>
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/status.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/status.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/status.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/status.xml Thu Mar 1 17:06:22 2007
@@ -37,6 +37,8 @@
<td class="ojb">
<p>
The PB (Persistence Broker) API implementation is <strong>stable</strong>.
+ <br/>
+ <br/>
</p>
</td>
</tr>
Added: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/svn-info.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/svn-info.xml?view=auto&rev=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/svn-info.xml (added)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/svn-info.xml Thu Mar 1 17:06:22 2007
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="ISO-8859-15"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>OJB's source repository</title>
+ </header>
+ <body>
+ <section>
+ <title>Necessary software</title>
+ <p>
+ OJB project uses <a href="ext:tigris/svn">SVN</a> for its source repository. To access it
+ you need a SVN client. Unix and Linux systems usually have the <code>svn</code>
+ tool built in. For Windows you'll need an additional tool like
+ <a href="ext:tigris/tortoisesvn">TortoiseSVN</a>. Also, most modern IDEs have SVN support
+ built in or there are plugins that provide this ability.
+ </p>
+ </section>
+ <section>
+ <title>Unix-based and Linux systems</title>
+ <p>
+ The <code>svn</code> command is usually readily available in these systems. Here all
+ you need to do is to change to a directory where you want to put OJB into, and
+ then issue these commands:
+ </p>
+ <source><![CDATA[
+svn co http://svn.apache.org/repos/asf/db/ojb/trunk ojb]]></source>
+ <p>
+ This will checkout the current development version of OJB in read-only mode.
+ This means you can play around with the source without fear for breaking anything
+ as the changes cannot be checked back in.
+ </p>
+ <source><![CDATA[
+svn co http://svn.apache.org/repos/asf/db/ojb/branches/OJB_1_0_RELEASE ojb]]></source>
+ <p>
+ This will checkout the 1.0.x version branch of OJB in read-only mode.
+ </p>
+ <note>
+ If you're a committer, you'll have to replace the <code>http</code> with
+ <code>https</code>.
+ </note>
+ </section>
+ <section>
+ <title>Windows systems</title>
+ <p>
+ For Windows systems, one of the available SVN clients is
+ <a href="ext:tigris/tortoisesvn">TortoiseSVN</a> which is an Explorer extension.
+ After you've installed it and rebooted you computer (which is necessary
+ because of it nature as an Explorer extension), you'll have additional
+ options in the context menu in Explorer. Change to a directory where you
+ want to checkout OJB, choose the "SVN Checkout ..." option
+ from the context menu and you'll get a dialog to specify the URL of the repository - type:
+ </p>
+ <source><![CDATA[
+http://svn.apache.org/repos/asf/db/ojb]]></source>
+ <p>
+ After you clicked OK, TortoiseSVN will checkout to the designated place. Once it
+ has finished you can start using OJB.
+ </p>
+ <note>
+ If you're a committer, you'll have to replace the <code>http</code> with
+ <code>https</code>.
+ </note>
+ </section>
+ <section>
+ <title>IDEs</title>
+ <p>
+ For Java IDEs, you usually have to install a plugin in order to get SVN support.
+ </p>
+ <table>
+ <tr>
+ <th>IDE</th>
+ <th>Plugin/Extension</th>
+ </tr>
+ <tr>
+ <td><a href="ext:eclipse">Eclipse</a></td>
+ <td><a href="ext:tigris/subclipse">Subclipse</a></td>
+ </tr>
+ <tr>
+ <td><a href="ext:idea">JetBrains IDEA</a></td>
+ <td><a href="ext:tigris/svn-up">svn-up</a></td>
+ </tr>
+ <tr>
+ <td><a href="ext:netbeans">NetBeans</a></td>
+ <td><a href="ext:netbeans/subversion-profile">Subversion profile</a></td>
+ </tr>
+ </table>
+ <p>
+ Please refer to the documentation of the IDE and the plugin/extension for how to install
+ and use the plugin/extension. The location of the OJB repository is
+ </p>
+ <source><![CDATA[
+http://svn.apache.org/repos/asf/db/ojb]]></source>
+ <p>
+ which you can access anonymously (without user name and password).
+ </p>
+ <note>
+ If you're a committer, you'll have to replace the <code>http</code> with
+ <code>https</code>.
+ </note>
+ </section>
+ </body>
+</document>
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/resources/images/ojb-400-white.png
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/resources/images/ojb-400-white.png?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
Binary files - no diff available.
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/skinconf.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/skinconf.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/skinconf.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/skinconf.xml Thu Mar 1 17:06:22 2007
@@ -189,6 +189,7 @@
font-family: monospace;
}
+
table.ojb {
background: #F5F5F5;
border: thin inset Silver;
@@ -274,35 +275,70 @@
<color name="footer" value="#cedfef"/>
-->
+ <!--
+ tigris: header: top strip containing project and group logos
- <color name="header" value="#ffffff"/><!-- 003366 -->
+ tigris: tab-selected: value=left menu border color, v/hlink=first tab text color (if tab is enabled in site.xml)
+ tigris: tab-unselected: main tabs-> value=background, v/hlink=text color
+ tigris: subtab-selected: seems no function, but needs to be declared, else color of sub-tabs bar text will be ignored
+ tigris: subtab-unselected: value=sub-tabs bar (with publishing date on left) above the left menue border
+ link=?new link?, v/hlink=text color of the sub-tab text on bar
- <color name="tab-selected" value="#dddddd" link="#555555" vlink="#555555" hlink="#555555"/>
- <color name="tab-unselected" value="#999999" link="#ffffff" vlink="#ffffff" hlink="#ffffff"/>
- <color name="subtab-selected" value="#cccccc" link="#000000" vlink="#000000" hlink="#000000"/>
- <color name="subtab-unselected" value="#cccccc" link="#555555" vlink="#555555" hlink="#555555"/>
+ tigris: heading|subheading: section headings within the content
- <color name="heading" value="#2c3c6d"/>
- <color name="subheading" value="#bbbdce"/>
+ tigris: navstrip: the strip under the sub-tabs bar, value=background color, v/hlink=text color of
+ the dir-path text on strip
+ tigris: toolbox: value=credits-toolbox strip background color, font=toolboxes text color
+ tigris: border: ?line border around selected menu item?
+ tigris: searchbox: the background of the searchbox
- <color name="navstrip" value="#dddddd" link="#801458" vlink="#801458" hlink="#801458"/>
- <color name="toolbox" value="#dddddd" font="#555555"/>
+ tigris: menu: the left-hand navigation panel, value=background, link=new link color, v/hlink=text color
+ tigris: dialog: background of (credits) toolbox
+ tigris: body: any remaining parts, e.g. the bottom of the page
+
+ tigris: table: table bar background
+ tigris: table-cell: table cell background
+
+ tigris: highlight:
+ tigris: fixme:
+ tigris: note:
+ tigris: warning:
+ tigris: code:
+
+ tigris: footer: the second from bottom strip containing credit logos and published date
+ tigris: feedback: the optional bottom strip containing feedback link
+ -->
+
+ <color name="header" value="#ffffff"/>
+
+ <color name="tab-selected" value="#D8D8D8" link="#7B7B7B" vlink="#43427A" hlink="#b4005a"/>
+ <color name="tab-unselected" value="#DBDBDB" link="#7B7B7B" vlink="#43427A" hlink="#b4005a"/>
+
+ <color name="subtab-selected" value="#BCBCBC" link="#BCBCBC" vlink="#BCBCBC" hlink="#BCBCBC"/>
+ <color name="subtab-unselected" value="#BCBCBC" link="#13117A" vlink="#13117A" hlink="#b4005a"/>
+
+ <color name="heading" value="#13117A"/>
+ <color name="subheading" value="#6D6BC7"/>
+
+ <color name="navstrip" value="#D8D8D8" link="#13117A" vlink="#13117A" hlink="#b4005a"/>
+ <color name="toolbox" value="#D8D8D8" font="#7B7B7B"/>
<color name="border" value="#999999"/>
- <color name="menu" value="#f7f7f7" link="#801458" vlink="#801458" hlink="#b4005a"/>
- <color name="dialog" value="#eeeeee"/>
+ <color name="menu" value="#f7f7f7" link="#13117A" vlink="#13117A" hlink="#3D3D3D"/>
+ <color name="dialog" value="#f7f7f7"/>
+
+ <color name="body" value="#ffffff" link="#13117A" vlink="#13117A" hlink="#b4005a"/>
- <color name="body" value="#ffffff" link="#801458" vlink="#801458" hlink="#b4005a"/>
+ <color name="table" value="#DBDBDB"/>
+ <color name="table-cell" value="#F7F7F7"/>
- <color name="table" value="#ccc"/>
- <color name="table-cell" value="#ffffff"/>
<color name="highlight" value="#ffff00"/>
<color name="fixme" value="#6c85b0"/>
- <color name="note" value="#7F1454"/>
+ <color name="note" value="#7D0561"/>
<color name="warning" value="#b2a510"/>
<color name="code" value="#EEEEEE"/>
- <color name="footer" value="#dedfde"/>
+ <color name="footer" value="#D8D8D8"/>
<!-- Color group: Krysalis -->
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org