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 2005/12/12 03:51:12 UTC
cvs commit: db-ojb/src/doc/forrest/src/documentation/content/xdocs news.html site.xml
arminw 2005/12/11 18:51:12
Modified: src/doc/forrest/src/documentation/content/xdocs/docu/guides
Tag: OJB_1_0_RELEASE advanced-technique.xml
basic-technique.xml odmg-guide.xml repository.xml
src/doc/forrest/src/documentation/content/xdocs Tag:
OJB_1_0_RELEASE site.xml
Added: src/doc/forrest/src/documentation/content/xdocs Tag:
OJB_1_0_RELEASE news.html
Log:
update docs for 1.0.4, add first version of a 'news' site
Revision Changes Path
No revision
No revision
1.1.2.5 +13 -9 db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/guides/advanced-technique.xml
Index: advanced-technique.xml
===================================================================
RCS file: /home/cvs/db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/guides/advanced-technique.xml,v
retrieving revision 1.1.2.4
retrieving revision 1.1.2.5
diff -u -r1.1.2.4 -r1.1.2.5
--- advanced-technique.xml 17 Aug 2005 15:37:09 -0000 1.1.2.4
+++ advanced-technique.xml 12 Dec 2005 02:51:12 -0000 1.1.2.5
@@ -446,6 +446,9 @@
<section>
<title>Mapping Classes on Multiple Joined Tables</title>
<p>
+ ### TODO: document changes made in 1.0.4 ###
+ </p>
+ <p>
Here are the definitions for the classes A and B:
</p>
<source><![CDATA[
@@ -1507,22 +1510,23 @@
public interface ManageableCollection extends java.io.Serializable
{
/**
- * add a single Object to the Collection. This method is used during reading Collection elements
- * from the database. Thus it is is save to cast anObject to the underlying element type of the
- * collection.
+ * add a single Object to the Collection. This method is used during reading
+ * Collection elements from the database. Thus it is is save to cast anObject
+ * to the underlying element type of the collection.
*/
void ojbAdd(Object anObject);
/**
- * adds a Collection to this collection. Used in reading Extents from the Database.
- * Thus it is save to cast otherCollection to this.getClass().
+ * adds a Collection to this collection. Used in reading Extents from the
+ * Database. Thus it is save to cast otherCollection to this.getClass().
*/
void ojbAddAll(ManageableCollection otherCollection);
/**
- * returns an Iterator over all elements in the collection. Used during store and delete Operations.
- * If the implementor does not return an iterator over ALL elements, OJB cannot store and delete all
- * elements properly.
+ * returns an Iterator over all elements in the collection. Used during store and
+ * delete Operations.
+ * If the implementor does not return an iterator over ALL elements, OJB cannot
+ * store and delete all elements properly.
*/
Iterator ojbIterator();
1.1.2.5 +7 -7 db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/guides/basic-technique.xml
Index: basic-technique.xml
===================================================================
RCS file: /home/cvs/db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/guides/basic-technique.xml,v
retrieving revision 1.1.2.4
retrieving revision 1.1.2.5
diff -u -r1.1.2.4 -r1.1.2.5
--- basic-technique.xml 9 Aug 2005 20:03:22 -0000 1.1.2.4
+++ basic-technique.xml 12 Dec 2005 02:51:12 -0000 1.1.2.5
@@ -1619,15 +1619,15 @@
# ProxyFactory and IndirectionHandler
#----------------------------------------------------------------------------------------
# The ProxyFactoryClass entry defines which ProxyFactory implementation is to be used.
- # By default, a 1.0 compatiable, JDK-based version is used. However, a the CGLIB based entry
- # is available.
+ # By default, a 1.0 compatiable, JDK-based version is used. However, a the CGLIB
+ # based entry is available.
#
# - ProxyFactoryCGLIBImpl: Refernece proxies are generated using bytecode manipulation
- # from the CGLIB library. Any class can become a dynamic proxy, and not just ones
- # that implement an interface.
+ # from the CGLIB library. Any class can become a dynamic proxy, and not
+ # just ones that implement an interface.
# - ProxyFactoryJDKImpl: OJB 1.0 compatiable Proxy implementation. Proxies in this method
- # can only be generated from classes that implement an interface, and the generated
- # Proxy will implement all methods of that interface.
+ # can only be generated from classes that implement an interface, and
+ # the generated Proxy will implement all methods of that interface.
#
# NOTE: The appropriate cooresponding IndirectionHandler must be choosen as well
#
1.1.2.7 +30 -39 db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/guides/Attic/odmg-guide.xml
Index: odmg-guide.xml
===================================================================
RCS file: /home/cvs/db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/guides/Attic/odmg-guide.xml,v
retrieving revision 1.1.2.6
retrieving revision 1.1.2.7
diff -u -r1.1.2.6 -r1.1.2.7
--- odmg-guide.xml 12 Oct 2005 00:12:40 -0000 1.1.2.6
+++ odmg-guide.xml 12 Dec 2005 02:51:12 -0000 1.1.2.7
@@ -962,20 +962,39 @@
<anchor id="foreign-keys"/>
<section>
- <title>Foreign Keys and ODMG-api</title>
+ <title>Foreign Keys Constraints and ODMG-api</title>
<p>
If cross-referenced database tables are used it's recommended to set <em>foreign key constraints</em>
to guarantee database consistency. The consequence of using <em>foreign key constraints</em> is that
- the order of the persistent objects on <em>insert</em> and <em>delete</em> operations will become cruical.
+ the order of the persistence capable objects on <em>insert</em> and <em>delete</em> operations
+ will become cruical.
</p>
<p>
- By default OJB try to order the persistent objects within a transaction by itself on transaction
- commit call. If this doesn't suffice it's possible to determine the
+ Some databases support <em>deferred constraint checks</em>, this can help to avoid foreign key issues.
+ </p>
+ <p>
+ On transaction commit (using standard settings) OJB try to order the objects by itself.
+ If this doesn't suffice it's possible to determine the
<link href="#ordering-by-hand">object order "by hand"</link>.
</p>
<p>
- Some databases support <em>deferred constraint checks</em>, this can help to avoid foreign key issues.
+ If foreign key constraint violations arise when using
+ <link href="site:basic-technique/one-to-one">1:1 references</link> and
+ <link href="#circular-references">circular/bidirectional 1:1 references</link> it's possible to use
+ a workaround introduced in version 1.0.4 to specify the database FK constraint in OJB using a
+ <link href="site:repository/custom-attribute">custom attribute</link> named <em>'constraint'</em>:
</p>
+ <source><![CDATA[
+<reference-descriptor name="refAA"
+ class-ref="org.apache.ojb.odmg.CircularTest$ObjectAA"
+ proxy="false"
+ auto-retrieve="true"
+ auto-update="none"
+ auto-delete="none"
+>
+ <foreignkey field-ref="fkId"/>
+ <attribute attribute-name="constraint" attribute-value="true"/>
+</reference-descriptor>]]></source>
</section>
<anchor id="questions"/>
@@ -1027,44 +1046,16 @@
<section>
<title>Circular- and Bidirectional References</title>
<p>
- The good news, OJB can handle <em>circular-</em> and (as a subset) <em>bidirectional</em> references.
- But in these cases you have to pay attention.
+ The good news, OJB can handle <em>bidirectional-</em> and <em>circular-</em> references.
+ When using <link href="#foreign-keys">foreign key constraints</link> for referential
+ integrety in these cases you have to pay attention.
</p>
<p>
In OJB <link href="site:test-suite">test-suite</link> a unit test called
<code>org.apache.ojb.odmg.CircularTest</code> can be found. The tests show the handling
- of circular/bidirectional references. The examples below are borrowed from this test class.
+ of circular/bidirectional references and the possibilities how to handle object
+ insert/update/delete ordering on transaction commit.
</p>
-
- <anchor id="circular-examples"/>
- <section>
- <title>Examples</title>
- <p>
- <strong>Example: Bidirectional 1:1 relation</strong>
- </p>
- <p>
- Class <code>Shop</code> and <code>ShopDetail</code> have a bidirectional
- <link href="site:basic-technique/one-to-one">1:1 relation</link>. The <em>SHOP</em> table
- has a foreign key constraint on <em>DETAIL</em> table.
- </p>
- <p>
- ######## TODO #########
- </p>
- <p>
- <strong>Example:Circular 1:1 referenes</strong>
- </p>
- <p>
- Assume we have classes with circular <link href="site:basic-technique/one-to-one">1:1 relations</link>
- like:
- <br/>
- <code>ObjectA</code> --1:1--> <code>ObjectAA</code> --1:1--> <code>ObjectAAA</code> --1:1--> <code>ObjectA</code>
- and table of <code>ObjectA</code> has a foreign key to <code>ObjectAA</code> table, table of <code>ObjectAA</code>
- has a foreign key to <code>ObjectAAA</code> table.
- </p>
- <p>
- ######## TODO #########
- </p>
- </section>
</section>
<anchor id="no-oql"/>
1.1.2.12 +60 -7 db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/guides/repository.xml
Index: repository.xml
===================================================================
RCS file: /home/cvs/db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/guides/repository.xml,v
retrieving revision 1.1.2.11
retrieving revision 1.1.2.12
diff -u -r1.1.2.11 -r1.1.2.12
--- repository.xml 12 Oct 2005 00:12:40 -0000 1.1.2.11
+++ repository.xml 12 Dec 2005 02:51:12 -0000 1.1.2.12
@@ -233,9 +233,8 @@
using
<em>PersistenceBrokerFactory#setDefaultKey(...)</em> method.
If set
- <em>true</em> you can use a PB-api shortcut-method of
- the
- <em>PersistenceBrokerFactory</em> to lookup PersistenceBroker instances.
+ <em>true</em> you can use a PB-api <link href="site:pb-guide/lookup-pb">shortcut-method</link>
+ of the <em>PersistenceBrokerFactory</em> to lookup PersistenceBroker instances.
</p>
<note>
If <em>default-connection</em> is not set at runtime, it is mandatory
@@ -328,12 +327,16 @@
<p>
If a
<em>jndi-datasource-name</em>
- for JNDI based lookup of Jdbc connections is specified, the four attributes
+ for JNDI based lookup of Jdbc connections is specified, the following four attributes
<em>driver</em>,
<em>protocol</em>,
<em>subprotocol</em>, and
<em>dbalias</em> used for Jdbc DriverManager based construction
of Jdbc Connections must not be declared.
+ <br/>
+ If a <em>jndi-datasource-name</em> is specified, OJB always assume that a
+ JNDI based datasource connection lookup was expected (so take care that this attribute is
+ empty or absent on <em>driver based</em> connection handling).
</p>
<p>
The
@@ -1397,12 +1400,16 @@
<section>
<title>collection-descriptor</title>
<p>
- A collection-descriptor contains mapping info for a liCollection- or
+ A collection-descriptor contains mapping info for a Collection- or
Array-attribute of a persistent class that contains persistent
entity Objects. See more about <link href="site:basic-technique/one-to-n">1:n</link>
and <link href="site:basic-technique/m-to-n">m:n</link> references.
</p>
<p>
+ The <link href="#orderby"><em>orderby</em></link> element(s) allow to specify
+ the order the collection objects. It's allowed to specify multiple order fields.
+ </p>
+ <p>
The <em>inverse-foreignkey</em> elements contains information on foreign-key
attributes that implement the association on the database level.
</p>
@@ -1446,6 +1453,7 @@
in the repository too.
</p>
<p>
+ DEPRECATED, please use the '<link href="#orderby">orderby</link>'-element.
The <em>orderby</em> attribute may specify a field of the element class.
The Collection or Array will be sorted according to the specified attribute.
The sort attribute may be used to specify ascending or descending order for
@@ -1542,6 +1550,52 @@
</section>
+ <anchor id="orderby"/>
+ <section>
+ <title>order-by</title>
+ <p>
+ A <em>order-by</em> element contains an attribute name and a sort order.
+ </p>
+ <source><![CDATA[
+<!ELEMENT orderby (documentation?)>]]></source>
+ <p>
+ The <em>name</em> attribute specifies the field or the column (full qualified
+ column name) the order based on. The <em>sort</em> attribute specifies
+ the order direction.
+ </p>
+ <source><![CDATA[
+<!ATTLIST orderby
+ name CDATA #REQUIRED
+ sort (ASC | DESC) "ASC"
+>]]></source>
+ <p>
+ Here is an examples of how to use ordering for one side
+ of a m:n reference:
+ </p>
+ <source><![CDATA[
+<collection-descriptor
+ name="actors"
+ collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList"
+ element-class-ref="org.apache.ojb.broker.M2NTest$Actor"
+ auto-retrieve="false"
+ auto-update="false"
+ auto-delete="false"
+ indirection-table="M2N_ROLE"
+>
+ <!-- Check the use of order by element for fields and plain columns -->
+ <orderby name="name" sort="ASC"/>
+ <orderby name="M2N_ROLE.MOVIE_ID_INT" sort="DESC"/>
+
+ <fk-pointing-to-this-class column="MOVIE_ID_INT"/>
+ <fk-pointing-to-this-class column="MOVIE_ID2_INT"/>
+ <fk-pointing-to-this-class column="MOVIE_ID_STR"/>
+ <fk-pointing-to-element-class column="ACTOR_ID"/>
+ <fk-pointing-to-element-class column="ACTOR_ID2"/>
+</collection-descriptor>]]></source>
+
+ </section>
+
+
<section>
<title>inverse-foreignkey</title>
<p>
@@ -1855,4 +1909,3 @@
</section>
</body>
</document>
-
No revision
No revision
1.3.2.20 +6 -2 db-ojb/src/doc/forrest/src/documentation/content/xdocs/site.xml
Index: site.xml
===================================================================
RCS file: /home/cvs/db-ojb/src/doc/forrest/src/documentation/content/xdocs/site.xml,v
retrieving revision 1.3.2.19
retrieving revision 1.3.2.20
diff -u -r1.3.2.19 -r1.3.2.20
--- site.xml 12 Oct 2005 00:12:41 -0000 1.3.2.19
+++ site.xml 12 Dec 2005 02:51:12 -0000 1.3.2.20
@@ -34,6 +34,7 @@
<ojb label="OJB">
<index label="Home" href="index.html"/>
+ <news label="News" href="news.html"/>
<features label="Features" href="features.html"/>
<!-- faq label="FAQ's" href="site:faq" / -->
<status label="Status" href="status.html"/>
@@ -62,7 +63,8 @@
<coding label="Coding Standards" href="code-standards.html"/>
</development>
- <all label="Complete Site">
+ <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>
@@ -392,6 +394,8 @@
<yourkit href="http://www.yourkit.com/" />
<p6spy href="http://www.p6spy.com/"/>
<spring href="http://www.springframework.org/"/>
+ <linguine-maps href="http://www.softwaresecretweapons.com/jspwiki/Wiki.jsp?page=LinguineMaps"/>
+
<!-- Article links used within OJB -->
<article>
No revision
Index: site.xml
===================================================================
RCS file: /home/cvs/db-ojb/src/doc/forrest/src/documentation/content/xdocs/site.xml,v
retrieving revision 1.3.2.19
retrieving revision 1.3.2.20
diff -u -r1.3.2.19 -r1.3.2.20
--- site.xml 12 Oct 2005 00:12:41 -0000 1.3.2.19
+++ site.xml 12 Dec 2005 02:51:12 -0000 1.3.2.20
@@ -34,6 +34,7 @@
<ojb label="OJB">
<index label="Home" href="index.html"/>
+ <news label="News" href="news.html"/>
<features label="Features" href="features.html"/>
<!-- faq label="FAQ's" href="site:faq" / -->
<status label="Status" href="status.html"/>
@@ -62,7 +63,8 @@
<coding label="Coding Standards" href="code-standards.html"/>
</development>
- <all label="Complete Site">
+ <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>
@@ -392,6 +394,8 @@
<yourkit href="http://www.yourkit.com/" />
<p6spy href="http://www.p6spy.com/"/>
<spring href="http://www.springframework.org/"/>
+ <linguine-maps href="http://www.softwaresecretweapons.com/jspwiki/Wiki.jsp?page=LinguineMaps"/>
+
<!-- Article links used within OJB -->
<article>
No revision
Index: site.xml
===================================================================
RCS file: /home/cvs/db-ojb/src/doc/forrest/src/documentation/content/xdocs/site.xml,v
retrieving revision 1.3.2.19
retrieving revision 1.3.2.20
diff -u -r1.3.2.19 -r1.3.2.20
--- site.xml 12 Oct 2005 00:12:41 -0000 1.3.2.19
+++ site.xml 12 Dec 2005 02:51:12 -0000 1.3.2.20
@@ -34,6 +34,7 @@
<ojb label="OJB">
<index label="Home" href="index.html"/>
+ <news label="News" href="news.html"/>
<features label="Features" href="features.html"/>
<!-- faq label="FAQ's" href="site:faq" / -->
<status label="Status" href="status.html"/>
@@ -62,7 +63,8 @@
<coding label="Coding Standards" href="code-standards.html"/>
</development>
- <all label="Complete Site">
+ <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>
@@ -392,6 +394,8 @@
<yourkit href="http://www.yourkit.com/" />
<p6spy href="http://www.p6spy.com/"/>
<spring href="http://www.springframework.org/"/>
+ <linguine-maps href="http://www.softwaresecretweapons.com/jspwiki/Wiki.jsp?page=LinguineMaps"/>
+
<!-- Article links used within OJB -->
<article>
1.1.2.1 +31 -0 db-ojb/src/doc/forrest/src/documentation/content/xdocs/Attic/news.html
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org